• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Enterprise J2ME: questions about the scope of the book

 
Ranch Hand
Posts: 78
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi there! I am a Certified Java Programmer.
Can anyone with some Java experience pick this book, read it and understand it without having to read it 3 times?
I don't know anything about J2ME, but I guess it's a subset of Java capabilities and frameworks, and problably it's design and our own program design is affected by limitations of the current plataform running the JVM.
This book covers stuff like hardware limits (different design solutions if different limitations are faced)? I hope this book is what I'm looking for.
Another question is: this book covers anything about J2ME games?
 
ranger
Posts: 17347
11
Mac IntelliJ IDE Spring
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Well, of course Michael can answer this much better. But from my understanding this is not a J2ME beginner's book. I think Michael's concentration on this book is how J2ME relates to the Enterprise development world with J2EE or Web Services. So there are topics dealing with integrating a J2ME application into your new or existing Enterprise development.
Michael was the Technical reviewer for Jonathan Knudsen's Apress Book which is definitely a beginner's book to J2ME. I read that one and started programming J2ME the next day, in almost one complete read. I think Michael's book is an excellent read as your next book after that to get a really good idea of J2ME in the context of your enterprise development.
If I am way off here, Michael will correct me.
Mark
 
author
Posts: 1436
6
Python TypeScript Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Bengt,
Yes, Mark was right. This book targets experienced developers. However, you do not have to be an advanced J2ME developer (if there is such thing ) to make the most out of it. In fact, my target audience is existing Java/J2EE developers who are already in the enterprise software business. Enterprise developers would be able to appreciate the end-to-end design patterns and enterprise integration tools/APIs covered in the book.
As you said, J2ME by itself is relatively simple. You can go through the API within 1-2 days. An appendix of this book gives you a quick introduction (with working examples of course) to J2ME/MIDP programming.
So, if you want to learn J2ME/MIDP itself, get Jonathan's book; if you want to expand your Java/ J2EE skills to mobile enterprise apps, get my book. Of course, the best is to get both.
No, my book does not cover mobile games. The book is focused on network applications not graphics or animations. Sorry ... But of course, more and more games are communication oriented -- in that sense, the book does cover mobile entertainment topics.
cheers
Michael
 
Ranch Hand
Posts: 45
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
Previously I worked on a project that involved streaming media to a MIDP client (I was team leader of the J2ME client team). It was like a primitive flash player but because the content was dynamic (i.e. not pre-composited like in flash), the communication was a little more chatty. Our protocol used TCP or UDP as the underlying carriage.
One of the things that I found frustrating was that almost all devices that touted TCP and UDP support did not work correctly. We worked quite closely with the engineers at Motorola to fix some of the problems that they had but we couldn't do this with all vendors.
So anyway, my questions about the book are...
- Does it cover any of the issues with working with real devices (e.g. which devices work well in particular areas but not so well in others)? Some devices support image transparency and some do not for example.
- There was mention of communication protocols. Is this restricted to HTTP (which for MIDP 1 is the only mandated protocol) or does it cover TCP and UDP?
- Is the book mainly dealing with J2EE technologies on the server and working with a MIDP client via HTTP. e.g. Writing an application using the high level user-interface widgets and connecting say to a JSP pointing to EJBs?
- Does it cover MIDP 2.0 at all?
I just want to get a feel for the subject material. I am more interested in developing applications using custom servers (e.g. presentation server for streaming binary data, or game server) and using TCP/UDP communication protocols. I'm also interested in a book that provides some insight into the devices out there (I know this is probably difficult to include in a book because it's a moving target), or at least refer to a web-site that has the details I need. With MIDP its really important to test on the actual devices you're using but any help to allieviate that testing and pointing out issues up front would be invaluable.
Regards,
Paul Kelcey
 
Michael Yuan
author
Posts: 1436
6
Python TypeScript Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Paul Kelcey:
- Does it cover any of the issues with working with real devices (e.g. which devices work well in particular areas but not so well in others)? Some devices support image transparency and some do not for example.


No, the book does not cover any specific device -- there are too many of them and they change too fast! The books covers from the highend PocketPC phones to low end Nokia Series 40 devices. We can not address each device individually.
A Nokia book I am writing right now will provide pros and cons for individual devices though!

- There was mention of communication protocols. Is this restricted to HTTP (which for MIDP 1 is the only mandated protocol) or does it cover TCP and UDP?


I spend a lot of pages to discuss techniques and tools that make "occasionally connected" HTTP applications work better. Some of the tools I mentioned in the book (especially Personal Profile tools) use TCP connections. But the problem with TCP is not really the device support. Wireless networks often do not support TCP natively -- they sometimes add TCP as a compatibility layer ON TOP OF HTTP.


- Is the book mainly dealing with J2EE technologies on the server and working with a MIDP client via HTTP. e.g. Writing an application using the high level user-interface widgets and connecting say to a JSP pointing to EJBs?


The focus is the end-to-end story. For example, one sample application uses a J2ME client to query a Apache Axis server which in turn queries MapPoint Web Services to obtain driving directions.

- Does it cover MIDP 2.0 at all?


Yes, examples are the PUSH registry for SMS messaging. But keep in mind, this book is about design and real world examples, we do not address API specific issues. For example, the MIDP Game API is not mentioned at all.
For more information, please check out the book web site:
www.enterprisej2me.com
It has more detailed introduction, sample chapters as well as the source code examples.
cheers
Michael
[ January 19, 2004: Message edited by: Michael Yuan ]
 
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I would think developing games in Java on mobile devices would just be pointless. From experience I know Java programs already run slow with the limited specifications of a Pocket PC (mine runs on a 206 mHz ARM and only has 32MB of ram), and I would think games would be out of the question, especially for devices like the Palm and mobile phones that are even more limited than my iPaq.
 
Michael Yuan
author
Posts: 1436
6
Python TypeScript Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Paul Houser:
I would think developing games in Java on mobile devices would just be pointless. From experience I know Java programs already run slow with the limited specifications of a Pocket PC (mine runs on a 206 mHz ARM and only has 32MB of ram), and I would think games would be out of the question, especially for devices like the Palm and mobile phones that are even more limited than my iPaq.


Oh, you'd be surprised! Java runtimes on cell phones are much lighter than those on PC or PocketPC. In fact, I have seen several very compelling 3D action games on Java smartphones. For an overview on this topic, check out an article I wrote eariler ...
Develop state-of-the-art mobile games -- Trends in mobile games and a survey of related J2ME APIs
cheers!
 
Greenhorn
Posts: 19
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Micheal,

But the problem with TCP is not really the device support. Wireless networks often do not support TCP natively -- they sometimes add TCP as a compatibility layer ON TOP OF HTTP.


I'd been wondering how come in MIDP-1.0 HTTP is supported while TCP an option. It's quite a stange way of thinking in traditional network protocol stack because HTTP is built on top of TCP. Is above anwsers my question too? And in wireless networks, Does it mean that using TCP can be less efficient than using HTTP(for network transmision)? Which do i choose in practice if both are available? Can you please gvie more knowledge or references to where i can find information about this.
thank you,
LI
--
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
HI, Michael
I am looking forward to your book (Enterprise J2ME) for a long time.
Now, I am developing open source wireless message middleware JFoxMQ( http://www.huihoo.org/jfox/jfoxmq/index.html) in order to support wireless message such as SMS, MMS and J2ME downloading.
You know, China is the one of the bigest mobile serivce market,
Here is high-level mobile serivce provisioning environment structure of China
mobile client <--> Telco network <--> mobile service provsioing platform <--> CP(Content provider, such as www.sina.com )& SP(Serivce Provider)
So i think that message middleware is the key software in mobile service provsioing platform(Such as motolora 4thpass - MAS platform)
Here are my questions:
1. If we want to support j2me, what should we do to enhance JFoxMQ.
2. What technologies should we take into consider in building wireless message?
 
Ranch Hand
Posts: 2378
MySQL Database Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I asked a friend to look for Yuan's Enterprise J2ME book in Calcutta, India as it is yet not available in our country. But coul not manage it yet. I think several chapters of this book wil be helpful during our preparation for SCMAD beta exam.
 
Michael Yuan
author
Posts: 1436
6
Python TypeScript Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Lion Z. Li:
I'd been wondering how come in MIDP-1.0 HTTP is supported while TCP an option. It's quite a stange way of thinking in traditional network protocol stack because HTTP is built on top of TCP. Is above anwsers my question too? And in wireless networks, Does it mean that using TCP can be less efficient than using HTTP(for network transmision)? Which do i choose in practice if both are available? Can you please gvie more knowledge or references to where i can find information about this.
thank you,


Yes, for networks that provide emulated TCP/IP layer on top of HTTP, TCP is indeed slower than HTTP. But it depends on the network. The bottom line is: both are slow, high latency networks before 3G arrives.
cheers
 
Michael Yuan
author
Posts: 1436
6
Python TypeScript Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Peter Cheng:

1. If we want to support j2me, what should we do to enhance JFoxMQ.
2. What technologies should we take into consider in building wireless message?


Hi Peter,
First of all, the book is becoming available in China in Chinese! Look for Tsinghua University Press! Second, J2ME clients can receive SMS messages (and MMS in the near future) along with the device native PIM clients. To deliver services in SMS/MMS, you can check out JSR 212 which defines a standard service delivery framework on top of the Nokia Mobile Service servers. For J2ME clients, you can also "roll your own protocol" based on HTTP to integrate with any JMS servers. Take a look at IBM WebSphere MQ for J2ME and iBus//Mobile MOM servers for examples.
 
Michael Yuan
author
Posts: 1436
6
Python TypeScript Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Ashik uzzaman:
I asked a friend to look for Yuan's Enterprise J2ME book in Calcutta, India as it is yet not available in our country. But coul not manage it yet. I think several chapters of this book wil be helpful during our preparation for SCMAD beta exam.


Hi Ashik,
Where are you located? I can ask my publisher to see if they get any Indian imprint. There are several sample chapters available from <a href="http://www.enterprisej2me.com/pages/enterprisej2me/excerpts.php">my web site</a>. I think Chapter 7 could be relavant to the exam. Also, if you are registered developer at developer.nextel.com, you can have access to another sample chapter.
cheers
Michael
 
Ranch Hand
Posts: 3178
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Just trying to make the link clickable to the viewer...
Here is the link to the Michael Yuan's Site
 
Ko Ko Naing
Ranch Hand
Posts: 3178
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Michael Yuan:

Yes, for networks that provide emulated TCP/IP layer on top of HTTP, TCP is indeed slower than HTTP. But it depends on the network. The bottom line is: both are slow, high latency networks before 3G arrives.
cheers


I'm not sure in J2ME context... But what I am understanding is that TCP(Transport Layer) in the OSI model should be faster than HTTP(application layer)... Could u please correct me, if my understanding on it is wrong...
But I've heard about 3G and it's really amazing...
 
Michael Yuan
author
Posts: 1436
6
Python TypeScript Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Ko Ko Naing:

I'm not sure in J2ME context... But what I am understanding is that TCP(Transport Layer) in the OSI model should be faster than HTTP(application layer)... Could u please correct me, if my understanding on it is wrong...


Most mobile networks support neither HTTP nor TCP natively. Some of them emulate TCP on top of an emulated HTTP. Hence TCP could be slower than HTTP in this case.
 
Ko Ko Naing
Ranch Hand
Posts: 3178
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I got it.... The TCP in this context is different from the plain TCP, which is in Transport Layer... Since the TCP in this context is running on top of emulated HTTP, it is slower than the normal HTTP as well as normal TCP... Is that what u mean?
Thanks a lot for your explanation...
 
Catch Ernie! Catch the egg! And catch this tiny ad too:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic