This article throws more light on the embedded aspect of java . If you are passionate java developer I'm sure this will help you understand embedded concepts more. So
you’re a regular Java developer. You have done years of service developing apps
on the server side and get your kicks with any number of
server- and client-side APIs. You might have even developed some MIDlets for the
Java ME environment. You think you’ve done it all. But
suddenly, everyone seems to be talking about a new technology: embedded Java.
Can Java really go so small? You thought that the era of resource-constrained programming
was over. With the advances in the architecture of Android, iPhone, and Java ME
devices, lack of memory was
no longer an issue. Suddenly, lack of resources is a reason to celebrate. As
you might have guessed, we are not talking about consumer devices (at least,
not direct-toconsumer devices). We are talking about devices such as the
Raspberry Pi and other microcontrollers with which you can manipulate circuit boards
and small resource systems. Such microdevices allow you to manipulate and work
directly with the onboard circuitry. Embedded versions of Java use the same
Java technology that
you work with now—except the embedded versions are bite size. For
example, Oracle Java ME Embedded has a footprint smaller than that of Java ME, and
it is targeted at devices that power set-top boxes, vending machines, sensors, or,
well, microcontrollers. Java can be defined and adapted
to different devices using either Oracle Java ME Embedded or Oracle
Java SE Embedded. In this article, we look at how to do that and we look at how
Oracle Java ME Embedded technologies are adapted to the embedded environment. Oracle
Java ME Embedded is defined by the Information
Module Profile-Next Generation (IMP-NG) specification (JSR
228). (There is a separate specification for Oracle Java SE Embedded.)As you
might have guessed, this JSR is an extension of the
really old JSR 195, which was—not surprisingly— called the IMP specification. That
JSR never got off the ground, but adding the next generation bit has done wonders. Or it could be that the
time is right for the new specification. An Information Module Profile is a
strict subset of the Mobile Information Device Profile (MIDP), which you are
probably well
acquainted with. So, if we were creating MIDlets using MIDP, we must define a
new name for the applications that we create with IMP-NG.
Saturday, 12 October 2013
Thursday, 10 October 2013
Java developers in need of cloud computing
Cloud Computing is now an emerging field and let us discuss
on why java developer’s should focus on cloud computing. First,
it’s important to appreciate the wide scope of the term cloud computing. Obviously, we talk about the public
cloud, including Amazon EC2 or Microsoft Azure, not to mention Oracle’s own
public cloud. But cloud computing is also changing the way that we manage
internal data centers what we refer to as the private cloud.
In other words, the very same concepts, efficiencies, and capabilities that the
public cloud brought us are now available inside the data center—for example, basic
tenets such as self-service and being able to get a development, staging, or
production environment for an application in minutes—without going through any
significant paperwork or human workflow. On top of that, the elasticity of the
cloud means that we’re no longer constrained by a one-size-fits-all model. Applications must be built so that they can dynamically
scale out and
dynamically balance the load across multiple servers. This means that when
servers are added while an application is running, there’s no interruption of
service. To accomplish this, it’s good programming practice to always assume
that an application or the components of an application are
running in a scaled environment, which means many previous assumptions no longer
apply. I’m talking about things such as file systems—which could be either local or shared
and could trip up developers either way—or global Java objects on the heap,
which won’t actually
be “global” when the application is scaled out. Developers
must also understand whether the addition of resources will
actually
enable an application to scale out effectively. In other words, just because
an application runs correctly when you add additional servers, that doesn’t
mean it will actually support more transactions or users. So, you need
to explicitly design into the scaleout model the ability for the application to
scale as close to linearly as possible. Obviously, data caching is a huge part
of this, as is minimizing the amount of information that has to be shared
across servers, as is minimizing contention on
shared resources such as database systems. Finally, the application needs
to be understood in terms of the metrics of elasticity: when are additional resources
actually needed, and when is it safe for resources to be taken away? So, we need to know when we
need to scale out the application, which involves knowing what to monitor.
Wednesday, 9 October 2013
Oracle Java Cloud Service
Let us discuss some more features which induce the user in using the oracle's platform as a service. A simplistic explanation of Oracle Java Cloud Service is that it’s
Oracle WebLogic Server integrated with Oracle Database. So developing and
deploying on Oracle Java Cloud Service is akin to developing and deploying on
Oracle WebLogic Server and using Oracle Database for persistence. Oracle Java
Cloud Service runs Oracle WebLogic Server Release 10.3.6, which is the latest
version in the Oracle WebLogic Server 11g line. Oracle Java Cloud
Service drastically reduces the complexity associated with the deployment and
maintenance of enterprise Java applications. Oracle Java Cloud Service supports
a mix of Java EE 5, Java EE 6, and Oracle WebLogic Server capabilities. It supports all the commonly used Java technologies such as Servlets, JSP, JavaServer Faces (JSF), Enterprise JavaBeans (EJB) Java
Persistence
API (JPA), JAX-RS, JAX-WS, and more.However, while Servlet version
2.5 (Java EE 5) is supported, there’s support for JSF 2 (Java EE 6). Also, note
that today Oracle Java Cloud Service supports Java 6 APIs but not Java 7 APIs.
So Oracle Java Cloud Service is more of a Java EE mixand- match and not the same
as having a full Java EE 5 or Java EE 6 server on the cloud. Beyond the
standard Java EE specifications, Oracle Java Cloud Service supports the
deployment of applications that make use of Oracle WebLogic Server– specific
extensions as well as Oracle Application Development Framework constructs. One
of the highlights of Oracle Java Cloud Service is that, unlike some other Java
PaaS vendors, it puts great emphasis on being a standardsbased solution. So Oracle Java Cloud
Service does not force users to use any proprietary APIs. You can develop and
deploy on Oracle Java Cloud Service while sticking purely to the relevant Java
EE specification. Oracle Java Cloud Service
is easy to get started with for anyone with a Java EE background who is
familiar with deploying applications on an application server. Considering that
it is a Java-only cloud setup, there’s also nothing that would seem strange or confusing to a Java EE developer. I also like the fact that, unlike
with some vendors, Oracle Java Cloud Service does not have its own jargon for how it is priced and packaged. The Oracle Java Cloud
Service Software Development Kit (SDK) provides tools to help you develop, deploy, and
manage your applications.Note that this SDK is not meant to provide classes and
libraries that you have to use in your applications. It merely consists of
tools and plug-ins that you can choose to use or not use. Oracle Java Cloud
Service offers rich integration with popular Java IDEs, suchas NetBeans, Eclipse, and Oracle JDeveloper, all of which leverage the SDK “under the hood” to interact with Oracle Java Cloud Service.
The SDK also includes Ant tasks and Maven plug-ins for interacting with your Oracle Java Cloud
Service instances.
Friday, 4 October 2013
Oracle's new cloud services.
Oracle has started several new cloud services today including java
as a service.Oracle’s cloud push began in 2011, and since then Oracle has launched
several cloud solutions that support more than 25 million cloud users
worldwide. Oracle Java Cloud Service and Oracle Database Cloud Service have
been Oracle’s most visible PaaS solutions so far. Oracle’s other PaaS offerings are Oracle Developer Cloud Service, Oracle
Storage Cloud Service, and Oracle Messaging Cloud Service. Oracle Developer Cloud Service simplifies development with an automatically
provisioned development platform that supports the complete
development lifecycle. Oracle Storage Cloud Service enables businesses
to store and manage digital content in the cloud. Oracle Messaging Cloud Service provides an infrastructure that enables communication
between software components by sending and receiving messages via a single messaging
API, establishing a dynamic, automated business workflow environment.
Thursday, 3 October 2013
Key Considerations for platform as a service.
Platform as a service is now an emerging area and below are the key considerations while providing java as a software development as a service. There’s a fair bit of overlap between the features that available cloud services offer, but the key points to consider from a
software development platform point of view are as follows:
■Costs and pricing strategies vary widely across vendors. Some charge based on fine-grained usage details, while others provide
duration-based subscriptions. You need to evaluate whether you would like to
go with a subscription or with a pay-as-you-go model.
■ Are the supported technologies and features in line with your requirements?
Is your chosen framework officially supported by the cloud vendor? Which
version is supported?
■Is the vendor sticking to standard technologies, or would you need
to write custom, vendorspecific code?
■ Considering that you are putting your precious application and data
on the vendor’s hardware, you want to be sure about the vendor’s credentials
and ability to be up and running, say, 10 years from now.
■With PaaS, you do not have access to the actual hardware setup or
micro details about hardware
performance. So you need to evaluate the administration dashboard carefully, because it’s the primary source of
information about the service and about how an application is performing.
■ Is the PaaS solution integrated with your favorite Java integrated development environments (IDEs)?
■ Ease of use is quite important because some cloud services can be
rather confusing and, at times, even intimidating. I found this especially true
with services that support not just Java but many other technologies as
well.
■Most cloud vendors support at least one SQL data store and, in
some cases, a NoSQL data store as well. You need to examine whether
these work for you.
■ Is the vendor offering a closed stack that would lock you in? Would
it be possible for you to migrate to a new vendor if the need arises?
■ While some vendors are focused Java cloud players, there are others
that support multiple technologies. This seems to affect the features, the
documentation, the ease of use, and the overall priority areas for the
service. Some clouds offer Java support, but they just don’t come
across like they are talking about Java.
■How difficult would it be to build a team capable of developing and
deploying for a particular PaaS?
Java PaaS
PaaS is about renting a software platform and running a custom
business application on it. The promise of PaaS is to let developers focus on the business application and not have to worry about the hardware
or the core software platform. Gartner famously stated that 2011 will be the
year of PaaS. However, my many unscientific surveys at conferences in 2011 and
2012 showed that while there was great interest and experimentation happening with PaaS, actual adoption was pretty low. This was due
to multiple factors, such as PaaS offerings not being mature enough,
developer uncertainty, and managers being unwilling to change to a new shared model. Having said that, the various PaaS offerings
have matured rapidly over the past year or so. Many now provide
services comparable to what developers have been used to in on-premises Java EE environments. Now, some vendors don’t just provide a
deployment environment; they even provide a rich development environment on the
cloud. There’s healthy competition building up in this space, which should be
good news for developers and customers. So while Java PaaS might not yet be the norm, adoption looks certain to keep rising at an ever-increasing pace.
Tuesday, 1 October 2013
Java - Platform as a Service
Java EE has been the primary
software platform for enterprise and server-side development for more than a
decade, and it is increasingly the platform of choice on the cloud. In this article, we will look
at the Java cloud space and how you can go about choosing a Java platform-as-a-service
(PaaS) provider, and then take a closer look at Oracle Java Cloud Service. Only
a few years back, when someone discussed a Java EE project, it was presumed that the project would also require
setting up the requisite hardware infrastructure and having a team to manage
and monitor the setup. Java EE was never great at shared hosting, but
nobody seemed to care much about that, because shared hosting was almost considered below the dignity of Java EE. It used to be blasphemous
for an architect to suggest that a Java EE application could be run in a shared environment. The cloud wave turned this approach on its
head. Not only is a shared environment now being considered, it is actually
fashionable to be talking about running an application in a shared environment on the cloud. Java as yet has no
cloud-centric specifications in place, so the Java cloud space isn’t as standardized as developers
might expect. Yet we find that Java is being used in all kinds of cloud deployments,
especially PaaS offerings and software-as-aservice (SaaS) solutions built with Java.
Subscribe to:
Posts (Atom)