You are currently browsing the tag archive for the ‘embedded’ tag.
It might have gone unnoticed to some, but Java ME took a big leap forward a couple of weeks ago with the filing of two new JSRs:
- JSR 360: “Connected Limited Device Configuration 8″ (aka CLDC 8)
- JSR 361: “Java ME Embedded Profile” (aka ME EP)
Together, these two JSRs will significantly update, enhance, and modernize the Java ME platform, and specifically small embedded Java, with a host of new features and functionality.
JSR 360 – Connected Limited Device Configuration 8
CLDC 8 is based on JSR 139 (CLDC 1.1) and updates the core Java ME VM, language support, libraries, and features to be aligned with Java SE 8. This will include:
- VM updated to comply with the JVM language specification version 2
- Support for SE 7/8 language features like Generics, Assertions, Annotations, Try-with-Resources, and more
- New libraries such as Collections, NIO subset, Logging API subset
- A consolidated and enhanced Generic Connection Framework for multi-protocol I/O
With CLDC 8, Java ME and Java SE are entering their next phase of alignment – making Java the only technology today that truly scales application development, code re-use, and tooling across the whole range of IT platforms, from small embedded to large enterprise.
JSR 361 – Java ME Embedded Profile
ME EP is based on JSR 228 (IMP-NG) and updates the specification in key areas to provide a powerful and flexible application environment for small embedded Java platforms, building on the features of CLDC 8:
- A new, lightweight component and services model
- Shared libraries
- Multi-application concurrency, inter-application communication, and event system
- Application management
- API optionality, to address low-footprint use cases
With ME EP, application developers will have a modern application environment which allows development and deployment of modular, robust, sophisticated, and footprint-optimized solutions for a wide range of embedded use cases and devices.
While these JSRs are still under development, it’s clear that there are exciting new times ahead for Java ME – turning into a serious application platform while maintaining the focus on resource-constrained devices to address the expected explosion of small, smart, and connected embedded platforms.
To learn more, click on the above links for JSR 360 and JSR 361. Or review the JavaOne 2012 online presentations on the topic:
Also, for more information on JSR 360, check out Roger Brinkley’s blog “A Look inside JSR 360″.
And stay tuned for more in this space!
It’s Devoxx time again!
If you’re at Devoxx, sure to check the schedule for a whole range of exciting Java and Oracle topics:
JavaFX, OpenJDK, JDK 7, Java Embedded, Java EE, JCP, NetBeans, Greenfoot, as well as Java Duchess and JUG meetings. Talks, labs, BOFs, demos, and more.
Embedded Java will also play a prominent role. Want to see Java on Raspberry Pi in action? Find out why what’s happening with Java in IoT (Internet of Things)? Play with NetBeans and Tinkerforge?
Check out the full Devoxx schedule.
Why do I think Java has the most exciting part of its future still ahead of it? Catch up with me at my talk on Wed 14:00: ”Small, Smart, Connected: Java in the Internet of Things”.
My colleague and esteemed JavaFX hacker Stephen Chin is currently on the road on his NightHacking Tour through Europe, geeking with toys and projects, hacking code, and interviewing Java luminaries along the way.
You might know the guy on the left – James Gosling was the first stop of the tour.
What’s more, you can follow live on UStream at each stop along the way. Very cool! To learn all about the NightHacking Tour, check here.
Stephen will swing past my place in Freiburg, Germany, on Saturday (Nov 3). We’ll be chatting about all the stuff that’s happening in the embedded space these days and play with the latest small Java – if the demo gods allow
Just a quick note from JavaOne … excellent response to Oracle’s embedded Java announcements and strategy. Our DEMOGround booth is always busy – people want to learn more about Oracle Java ME Embedded 3.2, see it in action. Today’s keynote for the Java Embedded @ JavaOne sub conference was excellent – full house, great line up of partners and content.
Oh, and check this latest summary on blogs.oracle.com “Huge Opportunity in Small Things”
As I mentioned in my previous post, 2012 sees a big focus on embedded Java topics leading up to the show as well as throughout the conference. Last week was the announcement of two new embedded products: Oracle Java ME Embedded 3.2 and Java Embedded Server 7.0 (a blog post on this coming soon). And this week follows up with a host of keynotes, sessions, tutorials, booths, demos, and other content at JavaOne and Java Embedded @ JavaOne.
Just in time, I’d like to share my (totally subjective) list of this week’s “Embedded Highlights”, sorted by conference and by day. Here it goes:
- KEY10728 – Java Strategy Keynote
- KEY10744 – JavaOne Technical Keynote
- CON6703 – ARM: Eight Billion Served—“Want That Java Superoptimized?”
- CON11238 – Java Robots and Automation with MAX
- CON5943 – Java ME 7 Service Platform
- TUT10155 – Getting up to Speed on Oracle Java SE Embedded Performance: Tuning Tips and Tricks
- CON4247 – CLDC7: The Java Platform for Feature Phones and Low-Footprint Embedded Devices
- TUT6305 – Hands-On M2M
- BOF6816 – A Java-Powered FIRST Robot
- CON6335 – Rapid Robot Programming
- CON5804 – A New Platform for Ubiquitous Computing: Oracle Java ME Embedded
- CON11300 – Expanding the Reach of the Java ME Platform
- CON4058 – Java-Enabled Wireless Modules: The Central Hub for Next-Generation M2M Applications
- CON7110 – Developing Java Mobile and Embedded Applications with Java ME SDK 3.2
- CON4570 – Oracle Java Wireless Client: Optimized Java ME 7 Runtime
- CON12988 – OSGI Resource and Remote Lifecycle Management for M2M and the Device Cloud
- CON6094 – JavaFX on Smart Embedded Devices
- BOF4227 – Building Smart Java Applications with Neural Networks, Using the Neuroph Framework
- BOF7304 – Using Your Old Java ME Device to Build Cool New Hacking Projects
- BOF4298 – Small Embedded Java Platform for Robots
- CON5352 – Building JavaFX Interfaces with the Real World
- CON7212 – Java for Embedded Systems: Multicore and More
- CON11385 – What Users Really Want from M2M Solutions: Findings of a Worldwide M2M User Survey
- CON5348 – Do You Like Coffee with Your Dessert? Java and the Raspberry Pi
- CON3984 – IMP.next: A Profile for an Embedded World with Increasing Demands
- CON3400 – Kinect Open Source Programming Secrets: Hacking with OpenNI, NITE, and Java
- CON6590 – Easy Middleware for Your Embedded Device
- CON8081 – A World of Possibilities with Java ME + Bluetooth + Arduino
- CON4666 – How to Connect Java Embedded to Cloud Computing
- CON11225 – Closing the IT Loop: Best Practices with Java Embedded in the Real World
- CON11335 – Developing Embedded and Cloud Java Apps for Routers, Gateways, and Storage Devices
Java Embedded @ JavaOne, Wednesday
- KEY11523 – Java Embedded: Market Strategy with Judson Althoff
- CON11210 – Modernizing the Explosion of Advanced Microcontrollers with Embedded Java
- CON11211 – Standardized Embedded mHealth: The Power of Java and the Continua Ecosystem
- CON11156 – Benefits of Java M2M Modules to the Ecosystem
- CON13583 – Internet of Everything: From Connected Objects to a Smart Connected World
- CON11235 – Bring Your Device to the Cloud: Why Mobile Networks Are Different
- CON11236 – The Coming M2M Revolution: Critical Issues for End-to-End Software and Systems
Java Embedded @ JavaOne, Thursday
- KEY11525 – Java Embedded: Product Strategy with Hasan Rizvi
- CON11386 – Emerging Technologies in Manufacturing and Industrial Automation
- CON11388 – M2M: Tackling the Next Data Deluge
- CON11207 – Java and M2M Services for Business Transformation
- CON11208 – Gaining Market Advantage via Simplification and Differentiation with Java
Enough content? I thought so And, not to forget, be sure to check out the DemoGrounds at JavaOne – lots of cool demos, geek toys, and more. And hang out at the OTN Lounge while you’re there.
Hope you have a great show. See you around!
Updates (Oct 3, 2012):
- Cinterion announce the launch of their latest M2M solution, based on Oracle Java ME Embedded 3.2
- Qualcomm Technologies and Oracle announce their collaboration on M2M platforms, based on Oracle Java ME Embedded 3.2
The Internet of Things (IoT) is coming. And, with todays launch of the Oracle Java ME Embedded 3.2 product, Java is going to play an even greater role in it.
Java in the Internet of Things
By all accounts, intelligent embedded devices are penetrating the world around us – driving industrial processes, monitoring environmental conditions, providing better health care, analyzing and processing data, and much more. And these devices are becoming increasingly connected, adding another dimension of utility. Welcome to the Internet of Things.
As I blogged yesterday, this is a huge opportunity for the Java technology and ecosystem. To enable and utilize these billions of devices effectively you need a programming model, tools, and protocols which provide a feature-rich, consistent, scalable, manageable, and interoperable platform.
Java technology is ideally suited to address these technical and business problems, enabling you eliminate many of the typical challenges in designing embedded solutions. By using Java you can focus on building smarter, more valuable embedded solutions faster. To wit, Java technology is already powering around 10 billion devices worldwide.
Delivering on this vision and accelerating the growth of embedded Java solutions, Oracle is today announcing a brand-new product: Oracle Java Micro Edition (ME) Embedded 3.2, accompanied by an update release of the Java ME Software Development Kit (SDK) to version 3.2.
What is Oracle Java ME Embedded 3.2?
Oracle Java ME Embedded 3.2 is a complete Java runtime client, optimized for ARM architecture connected microcontrollers and other resource-constrained systems. The product provides dedicated embedded functionality and is targeted for low-power, limited memory devices requiring support for a range of network services and I/O interfaces.
What features and APIs are provided by Oracle Java ME Embedded 3.2?
Oracle Java ME Embedded 3.2 is a Java ME runtime based on CLDC 1.1 (JSR-139) and IMP-NG (JSR-228). The runtime and virtual machine (VM) are highly optimized for embedded use. Also included in the product are the following optional JSRs and Oracle APIs:
- File I/O API’s (JSR-75)
- Wireless Messaging API’s (JSR-120)
- Web Services (JSR-172)
- Security and Trust Services subset (JSR-177)
- Location API’s (JSR-179)
- XML API’s (JSR-280)
- Device Access API
- Application Management System (AMS) API
- AccessPoint API
- Logging API
Additional embedded features are:
- Remote application management system
- Support for continuous 24×7 operation
- Application monitoring, auto-start, and system recovery
- Application access to peripheral interfaces such as GPIO, I2C, SPIO, memory mapped I/O
- Application level logging framework, including option for remote logging
- Headless on-device debugging – source level Java application debugging over IP Connection
- Remote configuration of the Java VM
What type of platforms are targeted by Oracle Java ME 3.2 Embedded?
The product is designed for embedded, always-on, resource-constrained, headless (no graphics/no UI), connected (wired or wireless) devices with a variety of peripheral I/O.
The high-level system requirements are as follows:
- System based on ARM architecture SOCs
- Memory footprint (approximate)
- from 130 KB RAM/350KB ROM (for a minimal, customized configuration)
- to 700 KB RAM/1500 KB ROM (for the full, standard configuration)
- Very simple embedded kernel, or a more capable embedded OS/RTOS
- At least one type of network connection (wired or wireless)
The initial release of the product is delivered as a device emulation environment for x86/Windows desktop computers, integrated with the Java ME SDK 3.2.
A standard binary of Oracle Java ME Embedded 3.2 for ARM KEIL development boards based on ARM Cortex M-3/4 (KEIL MCBSTM32F200 using ST Micro SOC STM32F207IG) will soon be available for download from the Oracle Technology Network (OTN).
What types of applications can I develop with Oracle Java ME Embedded 3.2?
The Oracle Java ME Embedded 3.2 product is a full-featured embedded Java runtime supporting applications based on the IMP-NG application model, which is derived from the well-known MIDP 2 application model. The runtime supports execution of multiple concurrent applications, remote application management, versatile connectivity, and a rich set of APIs and features relevant for embedded use cases, including the ability to interact with peripheral I/O directly from Java applications.
This rich feature set, coupled with familiar and best-in class software development tools, allows developers to quickly build and deploy sophisticated embedded solutions for a wide range of use cases. Target markets well supported by Oracle Java ME Embedded 3.2 include wireless modules for M2M, industrial and building control, smart grid infrastructure, home automation, and environmental sensors and tracking.
What tools are available for embedded application development for Oracle Java ME Embedded 3.2?
Along with the release of Oracle Java ME Embedded 3.2, Oracle is also making available an updated version of the Java ME Software Development Kit (SDK), together with plug-ins for the NetBeans and Eclipse IDEs, to deliver a complete development environment for embedded application development.
OK – sounds great! Where can I find out more? And how do I get started?
There is a complete set of information, data sheet, API documentation, “Getting Started Guide”, FAQ, and download links available:
- For an overview of Oracle Embeddable Java, see here.
- For the Oracle Java ME Embedded 3.2 press release, see here.
- For the Oracle Java ME Embedded 3.2 data sheet, see here.
- For the Oracle Java ME Embedded 3.2 landing page, see here.
- For the Oracle Java ME Embedded 3.2 documentation page, including a “Getting Started Guide” and FAQ, see here.
- For the Oracle Java ME SDK 3.2 landing and download page, see here.
- Finally, to ask more questions, please see the OTN “Java ME Embedded” forum
To get started, grab the “Getting Started Guide” and download the Java ME SDK 3.2, which includes the Oracle Java ME Embedded 3.2 device emulation.
Can I learn more about Oracle Java ME Embedded 3.2 at JavaOne and/or Java Embedded @ JavaOne?
Glad you asked Both conferences, JavaOne and Java Embedded @ JavaOne, will feature a host of content and information around the new Oracle Java ME Embedded 3.2 product, from technical and business sessions, to hands-on tutorials, and demos. Stay tuned, I will post details shortly.
JavaOne is only 6 days away… Are you ready?
Man, what a crazy couple of weeks it has been. Haven’t blogged for ages. Insanely busy with preparations for JavaOne, Java Embedded @ JavaOne, and some new products we’re working on (on the latter, stay tuned …).
There is so much activity, information, and data around JavaOne to choose from – it’s hard to stay on top of it all. I’ll try to keep it short and provide the highlights as well as my embedded point of view. Ok, here it goes:
First, in case you may not know, there are actually two (!) Java conferences this year: JavaOne itself, and Java Embedded @ JavaOne.
- JavaOne happens from Sep 30 through Oct 4 (yes, that means keynotes are on Sunday! Don’t miss them)
- Java Embedded @ JavaOne happens Oct 3 and 4 – in parallel to JavaOne
Henrik Stahl, Senior Director of Product Management, does a great job of introducing Java Embedded @ JavaOne.
Finally, if you have more questions, check out my FAQ on the Java Embedded @ JavaOne conference.
As every year, JavaOne will be packed with keynotes, technical sessions, BOFs, Hands-On-Labs (HOLs), demo grounds, and events.
New for this year are tutorials, which are a mix between an extended technical session, a BOF, and a HOL. It gives the presenters extra time to show you the ropes on a particular topic and extra time for the attendees to ask questions. But it is less of a ‘lab’ setting compared to a HOL. Should be a good addition to the JavaOne structure.
Also new this year is the Oracle OpenWorld Music Festival, which happens throughout the conference (Sun-Thu) in a couple of venues around the main event area. There is music every day and a great line-up of performers such as Macy Gray, Jimmy Cliff, The English Beat, Joss Stone, and many more. Definitely worth checking out. Of course, there is the traditional assortment of parties and events – just check the JavaOne home page!
In terms of embedded, there will be a HUGE focus on that topic at this year’s JavaOne. Oracle is making a big push for Java in the embedded space, not just by launching the Java Embedded @ JavaOne conference (see above), but embedded is embedded (pun intended!) all throughout JavaOne itself:
- Dozens of dedicated embedded technical sessions, BOFs, tutorials, and Hands-on-Labs – ranging from tiny embedded devices through complex end-to-end embedded solutions and touching on a range of different use cases and markets
- Java in embedded spreads throughout the pavilion and demo boths
- Embedded technology featuring in JavaOne keynotes (very cool – see for yourself!)
- Involvement of partners specializing in embedded solutions built on Java
Update (7/17/2012): By popular request, the CfP deadline has been extended to July 27! So that gives you a few extra days to prepare that submission.
The deadline for the Call-for-Papers for Java Embedded @ JavaOne is approaching fast.
Be sure to submit your paper by Wednesday, July 18.
More information on the Call-for-Papers and the types of submissions we are looking for can be found on the Q & A.
First, check out this Oracle Partner Network (OPN) webcast with Henrik Stahl, Senior Director, Product Management and learn about the huge opportunities Oracle sees in the embedded space.
Henrik talks about the vast (and sometimes unseen) deployment of Java across embedded, provides background on the initiatives, technologies, products, and tools Oracle is working on, and explains how developers and partners can get involved and work with Oracle to build platforms, middleware, and solutions to harness the predicted massive growth in embedded.
For more information, see Oracle’s Embeddable Java.
Oracle will be at embedded world again this year. Last year was a very good showing, with lots of interest in Oracle’s embedded technologies. This year we’ll be back with an expanded presence: a larger booth, new demos, more talks, and more.
Please bookmark this blog entry for new information and updates as we get closer to the show. For now, have a look at our five scheduled talks (click on each name for more information):
- Mohamed Abdelaziz
- “Verrazano: Creating Application Specific Java Runtime Environments”
- Rainer Eschrich
- “Smart Home Automation- Java and OSGi based architecture for Home Gateways”
- “The Smart Hub for the Internet of Devices”
- Terrence Barr
- “Smart, Small, Connected: Java in Wireless Modules”
- “Java in the M2M Space”
Hope to see you at embedded world in less than three weeks!