Category: Cloud-PaaS

Our team has attended the global conference: IBM Impact 2013. There was plenty of great insight and information regarding Cloud Computing technologies during the conference, including PureFlex, PureApplication and PureData.

Here are some interesting session presentations:

•    Future Directions in Cloud Platforms PDF
•    WebSphere Application Infrastructure The Big Picture PDF
•    Continuous Delivery to Your Private PaaS: The Next Era of Private Cloud PDF
•    SOA as the Foundation for Cloud Adoption PDF
•    Next-Gen Productivity Platform for IBM PureSystems, Web and Mobile PDF
•    Exploring IBM PureApplication System Patterns of Expertise PDF
•    Exploring IBM PureApplication System and IBM Workload Deployer Best Practices PDF
•    Introduction to Cast Iron PDF
•    Best Practices for Cast Iron Integration both in the Cloud and On Premise PDF
•    WebSphere in a Virtual Cloudy World PDF
•    Deploying High-Availability Patterns in PureApplication System PDF
•    Why Would I Want to Put My Database in the Cloud? PDF
•    Driving Continuous Delivery with IBM PureApplication Systems PDF

No tags Hide

Web services are technology neutral web based components or applications that use XML-based open standards to enable interoperability in integration. Java introduced Java API for XML Web Services (JAX-WS) for creating web services. JAX-WS API is part of the Java EE platform and supports annotations. It simplifies the development of web service providers and web service clients.

Our goal is to locally design, develop and test a web service and finally deploy it to the AWS Elastic Beanstalk. We will develop a simple web service with top-down approach meaning we will design our web service interface first and then implement it using JAX-WS. To generate Java classes from XML schemas and WSDL, we will use Apache CXF framework. We will also follow best practices while designing and developing our web service.

Let’s design generic XML schemas and a simple, generic, WS-I compliant WSDL. A good practice is to design business objects and messages that envelope business object in web service operations, separately and in different namespaces.
First, we create a library project (general project in Eclipse IDE) and design two business schemas and three messages for our operation:

  • MyBusinesssEntity.xsd
  • MyBusinessFault.xsd
  • DoSomethingRequest.xsd
  • DoSomethingResponse.xsd
  • DoSometingFault.xsd

Sample schema:

xsd_sample2

Now, we can design a web service interface (WSDL) with a single “doSomething” operation with an input, output and business fault. Best practice is to use envelope messages for input, output and fault. In our case we use three messages – request, response and fault message defined above.

To ensure true interoperability and be compliant with WS-I we should follow best practices and use document/literal SOAP binding. You can read about WSDL styles here.

Now we can start with top-down development of our web service. To enable this, we must configure our environment. We use:

In Eclipse we generate a new Dynamic Web Project with configured Apache CXF and Tomcat 7.0 runtime (make sure your web service runtime is also set to Tomcat 7.0 and Apache CXF). Note we use jdk 1.6.

We add a new top-down web service, select our WSDL from the library project and let Apache CXF and wsdl2java to generate JAX-WS stubs and JAXB Java classes we can use in the implementation.

new_ws

classes

If we take a look at the generated classes we can see they are annotated with JAXB and JAX-WS annotations. We can implement our service in the MyServiceImpl.java class. In the interface we can cleary see the JAX-WS annotations.

service

The service endpoint is defined in the copied WSDL in the WebContent/wsdl foler. In our case the service looks like this:

wsdl_endpoint

To test it we deploy it locally on the Tomcat 7.0 server and use SoapUI to test it.

Now we are ready to deploy our web service on the AWS Elastic Beanstalk that automatically handles the deployment, capacity provisioning, load balancing, auto-scaling and application health monitoring. It supports Apache Tomcat 6 and 7, Microsoft IIS 7.5 and 8, PHP 5.3, Phyton, Ruby 1.8.7 and 1.9.3.

To deploy our application on the AWS Elastic Beanstalk from Eclipse we need the AWS Toolkit for Eclipse. When we configure our AWS credentials (access key ID and secret key are accessible in the AWS portal) in the AWS toolkit, we add a new Server > Amazon Web Services > AWS Elastic Beanstalk for Tomcat 7.0. We choose the region (in our case – Ireland) and configure our application and environment.

aws_server

Next, we can deploy the application with specific key pair, enable SSL, assign CNAME to the server, set the application health check URL and assign the email address for notifications. In our case, we will leave all fields empty. Then we add the project on the server, start it and wait (in our case it took about 8 minutes).

aws_upload

aws_server_started

After the deployment we can take a look at our AWS Managemen Conolse > Elastic Beanstalk. Here we can manage our AWS Elastic Beanstalk applications.

aws_console_1

Our application is hosted in the AWS S3 bucket in the same region as the AWS Elastic Beanstalk application.

s3

 

WSDL of our web service is located on:

  • http://mytestenv-s2y4skscv5.elasticbeanstalk.com/services/MyServiceSOAP?wsdl

Finally, we can test the web service, running on AWS Elastic Beanstalk using SoapUI.

soapUI_aws

 

You can download the sample here.

 

, , , , Hide

An Open API for Platform-as-a-Service (PaaS)

The leading technology vendors  (CloudBees, Cloudsoft Corporation, Huawei, Oracle, Rackspace, Red Hat, and Software AG) have announced a Platform-as-a-Service (PaaS) management API specification. The specification is designed to ease management of applications across public and private clouds. You can read more here.

Hide

Our team

Hewlett-Packard will offer a Cloud Computing service similar to Amazon Web Services. This should happen in about two months. HP Cloud will be focused more on enterprise users and will offer personalized services. The cloud should support Java, PHP, Phyton, and Ruby. The highlight HCG Diet will be an online store for selling, renting and purchasing applications. Another difference will be that HP will several install small data centres around the globe. This differs from Amazon’s, Google’s and Microsoft’s approach with few large data centres.

More info: http://hpcloud.com/

http://bits.blogs.nytimes.com/2012/03/09/first-look-hps-public-cloud/

No tags Hide

In April, 2012, IBM Cloud Academy Conference will take place in RTP North Carolina, U.S.

Matjaz B. Juric is Program Committee member.

More information: http://www.ibm.com/solutions/education/cloudacademy/us/en/cloud_academy_conference.html

 

No tags Hide

The CEO of Oracle, Larry Ellison, announced a new Oracle cloud solution Oracle Public Cloud at the Oracle OpenWorld 2011 today. The product consists of two components, Application Services (Fusion CRM, Fusion HCM, Social Network) and Platform Services (Database, Java). They represent the suite of Oracle Fusion applications, middleware and database offerings, delivered as a service.

Check more about this brand new technology here.

No tags Hide

Windows Azure Cloud Appliance

During the Microsoft Worldwide Partner Conference 2011, Microsoft introduced Windows Azure Cloud Appliance or so called “private cloud in a box” to its partners. The Azure appliance can be used by Microsoft partners to leverage new cloud services in data centers. The available server capacity will be maximally utilized for the usage of business applications. The described service combines manswers penis enlargement surgery Windows Azure, Microsoft SQL Azure and hardware fitted for Microsoft infrastructures. The service is primarily available for developers, end-users, service providers and resellers, who run applications in a private or hybrid cloud in their own data center. Customers can manage their private cloud via a portal located in the Microsoft System Center. You can read more here.

, Hide

PaaS and Java EE overview Part 3

AWS Elastic Beanstalk (beta)

Elastic Beanstalk is Amazon’s Platform as a Service (PaaS) product that leverages AWS services such as Amazon EC2, Amazon S3, Amazon Simple Notification Service, Elastic Load Balancing, and Auto-Scaling capabilities. The Beanstalk environment supports a full Tomcat server running on an EC2 virtual server. It is a pure Java environment with access to the underlying file system.

The first release of Elastic Beanstalk is built for Java developers using the familiar Apache Tomcat software stack which ensures easy portability for your application. There is no additional charge for Elastic Beanstalk – you only pay for the AWS resources needed to store and run your applications. Java EE is not supported in AWS Elastic Beanstalk.

CloudBees [email protected]

CloudBees is a new entrant to the Java PaaS scene. It may be a startup, but the people behind it are enterprise Java veterans. (It was started by JBoss ex-CTO Sacha Labourey, and has employed open source Java heavyweights Adrian Brock of JBoss fame and Kohsuke Kawaguchi of Hudson fame.) Its PaaS technology was acquired from Stax Networks, which has been providing hosted Java application services to enterprise customers for more than 10 years. The CloudBees [email protected] service is based on the robust Stax platform, and it is available to individual developers via a self-service web portal.

The [email protected] Casino En Ligne service is currently based on the EC2 infrastructure, and it can be viewed as a more automated version of Beanstalk + RDS. Like Beanstalk, [email protected] also offers a dedicated Tomcat instance running on an EC2 virtual server for each web application. It provides a pure Java environment with no artificial limitation on file system access, network I/O, and threading. Unlike Elastic Beanstalk, CloudBees does have a Java EE support and it doesn’t need to be tied with Amazon. It plans to offer other infrastructure providers to supplement EC2 in the near future.

CumuLogic (beta)

CumuLogic is an easy-to-use service that allows creating private Platform-as-a-Service (PaaS) on public clouds, such as Amazon EC2, and private clouds such as Cloud.com, Eucalyptus and VMware. CumuLogic is a scalable cloud platform for Java applications.  Unlike most Platform-as-a-Service offerings in the market today, CumuLogic gives you the flexibility to customize your platform on clouds so you are not locked-in to the platform or limited to use the services provided by the platform.

CumuLogic supports multiple Java EE containers. Enterprises with custom Java apps can build Java PaaS to consolidate applications on one standardized platform. Described PaaS product enables application developers to access a development, Test/QA and deployment infrastructure on a self-service basis, allowing developers to focus on building applications rapidly and cost effectively.

, Hide

PaaS and Java EE overview – Part 2

WMware’s PaaS Solutions

VMWare provides several products that are labeled as PaaS solutions. The first platform that they provide is called VMware’s SpringSource (vFabric Cloud Application Platform), which has just recently acquired the graphical web development tool WaveMaker. WaveMaker is the only open and easy-to-use development platform for web and cloud applications. With WaveMaker’s visual, drag and drop tools, any developer can start building enterprise Java application. Unlike the traditional Java EE platform, SpringSource provides a range of capabilities for creating enterprise Java, rich web, and enterprise integration applications that can be consumed in a lightweight, a-la-carte manner.

VMware unveiled an open platform-as-a-service offering April this year, that supports multiple programming frameworks including Spring for Java developers, Rails and Sinatra for Ruby developers, Node.js and other JVM frameworks including Grails. This second platform is called Cloud Foundry. Even though Java EE support is still not present in this platform, there are plans to add in the future.

Windows Azure

As part of Microsoft’s commitment to interoperability, the Windows Azure platform has been built from the ground up with interoperability in mind. Developers have the choice of several languages for building their applications, including:  .NET (C# and Visual Basic), C++, PHP, Ruby, Python playing online blackjack for a living and Java. In addition, interoperability with other platforms is made easier through community-based libraries: Plug-in for Eclipse and SDKs for Java.

Open source project WindowsAzure4j is such SDK and enables Java developers to develop Java applications on Windows Azure platform. This open source project also provides a software development kit for Windows Azure and Windows Azure Storage – Blobs, Tables & Queues.
Windows Azure supports Java EE 6 with GlassFish. How to configure and run Java App on Azure, check here.

Oracle PaaS Platform

The Oracle PaaS includes database services based on Oracle Database and Oracle Exadata Database Machine, as well as middleware service based on Oracle Fusion Middleware and Oracle Exalogic Elastic Cloud. With engineered systems such as Exadata and Exalogic providing extreme performance and efficiency for mixed workloads, Oracle provides the best foundation for PaaS. On top of this foundation of clustered middleware and database technologies, the Oracle PaaS Platform also includes components such as Oracle SOA Suite, Oracle BPM Suite, Oracle Identity Management and Oracle WebCenter.
Oracle WebLogic Server is the core application grid technology within Oracle Fusion Middleware. In addition to its general market leadership among Java EE application servers, WebLogic Server is particularly well-suited to application grid.

, Hide

Older posts >>