Monday, September 20, 2010

Introduction to WSO2 Cloud Platform

0 comments

Written by Afkham Azeez

See original post

Tuesday, September 14, 2010

WSO2Con Day 2

0 comments

Written by Sami

We are about to start day two of WSO2Con here in Colombo.

Yesterday it was the day of the platform. We not only talked about it, but also demoed the complete platform with a sample applications.

Today it is going to be the day on PaaS. We will talk as well as demo the cloud platform.


- Posted using BlogPress from my iPad

See original post

Monday, September 13, 2010

WSO2Con Colombo 2010 Day 1 -About to Start

0 comments

Written by Sami

We are all set to get going with WSO2Con 2010 here in Colombo.

I am all ready with my presentation and the folks are sly ready with the carbon demo.

Looking forward to an exiting two days!


- Posted using BlogPress from my iPad

See original post

Sunday, September 12, 2010

WSO2 ESB 3.0.1 Up for Grabs

0 comments

Written by Hiranya Jayathilaka

Last week we released WSO2 ESB 3.0.1. This release contains a number of important bug fixes and we highly recommend everyone using WSO2 ESB 3.0.0 to upgrade to the latest release as soon as possible. Please note that this is only a bug fix release and as such it doesn't contain any new features over 3.0.0. Therefore any configuration can be easily migrated to the 3.0.1 from 3.0.0.
Some of the significant fixes available in this release are:
  • Fixes to the hot deployment/hot update implementation
  • Fixes to the built-in patch model
  • Transport fixes (particularly in the NHTTP and FIX transports)
  • An Axis2 security fix
To make a long story short, there are more than one reason to migrate to WSO2 ESB 3.0.1. So download your copy today.

See original post

Saturday, September 4, 2010

Empowered Employees, Self-service IT and the Future Enterprise

0 comments

Written by Tyrell



IT in the Age of the Empowered Employee - Ted Schadler - The Conversation - Harvard Business Review
"Incremental innovation and process improvements have always come from those closest to the problem. It's the basis of kaizen, a system where employees continually improve manufacturing processes. It's also a founding principle of Six Sigma tap employees' relentless, incremental quality improvements.

The same is true in the way employees are harnessing consumer technologies social, mobile, video, and cloud. They're improving how they do their jobs and solving your customer and business problems. And it's not just a few employees; it's a critical mass of employees. In a survey of more than 4,000 U.S. information workers, we found that 37% are using do-it-yourself technologies without IT's permission. LinkedIn, Google Docs, Smartsheet.com, Facebook, iPads, YouTube, Dropbox, Flipboard the list is long and growing. Many of these scenarios are do-it-yourself projects. For example, want to ask me business questions on Facebook? Piece of cake, I'll just friend you. Personal iPhones for email, apps, and Internet access outside my clients' door? Check. Google Sites and Docs to exchange documents with partners? Sure, I can spin up a free site or IT can spend the $50/user/year and make it secure. YouTube to post fix-it-yourself videos for tough service problems? My kid's good with a Flip camera. She can film me doing the fix myself."

The popularity of Social Media, Mashups and App Stores is a clear indication that business users of today are do-it-yourself types. Social communities such as LinkedIn, Facebook and Twitter in addition to devices like the iPhone and iPad appeal to this new enterprise user. The way I see it, in the near future, enterprise IT will have to implement technologies that empower business users the same way these technologies do. Enterprise applications need to have social functionality build in, while allowing users to pick and choose exactly the apps they need, as and when needed.

Use SOA, think about exposing data as APIs. Secure them where needed. Most importantly, keep service re-use and composition in mind. Because that's where your ROI would be. Re-using existing stuff to create new apps with the minimum time and effort. Use a social App Store within the enterprise to govern these new apps. Ensure that business users get a say via rating and commenting. Have activity streams so that users are aware what's going on in their enterprise social circle.

The list goes on... but do take a user-centric approach and build from there. That's why Google can't succeed in the social media space, they are technically brilliant but clueless about how the social web works. Look at Wave, an engineering masterpiece, but a miserable failure as far as user adoption is concerned. Now look at Twitter. Always in trouble with technology, fails consistently when too many users start tweeting. But the users love it. If you ask me, the problems faced by twitter are good problems to have. "So many users like us, we can't handle the love!". I remember YouTube going through a similar phase a few years back. Not any more. Because technical problems can be solved. But if users don't like what you have, how on earth are you going to justify the pay checks of all those engineers?





See original post

Friday, September 3, 2010

WSO2 Stratos - Deployment Architecture

0 comments

Written by Afkham Azeez



















WSO2 Stratos is a complete SOA and developer platform offered as a self-service, multitenant, elastic runtime for private and public cloud infrastructures. If you want more details on what Stratos is, read Paul's blog entry: WSO2 Stratos - Platform-as-a-Service for private and public cloud

As you can see in the above diagram WSO2 Stratos is a distributed system consisting of a number of services such as Stratos Governance, Stratos Identity, Stratos ESB, Stratos Application Server and so on. Each of these services is an elastic cluster, which means, the number of nodes in the cluster will increase or decrease based on the load on these clusters.

Let us take a look at a few important components of this system.

Stratos Manager
The main service, shown at the top, is known as the Stratos Manager. WSO2 Stratos Manager is the point of entry for all WSO2 Stratos Cloud Services. An organization (called a tenant in the Stratos world), will first be registered in the Manager. A tenant administrator account should be created at this point. For example, when I registered afkham.org, I created an administrator account with username admin, and email address admin@afkham.org. Once you create register your organization, you can login to WSO2 Stratos using the admin account. I provided my username as admin@afkham.org. The next step would be to take a look at the Stratos services enabled for your organization. You could enable of disable services. You may also want to create new roles with certain permissions & then create users for these different roles. There is also a bulk import feature which will allow you to import a large number of uses from a CSV file. You will also be able to create and apply a new theme for your organization. Some basic usage statistics are also available. The Stratos team is currently working on enhancing this metering, usage reporting & billing functionality.

Next you could visit the home pages of the different Stratos services. As of now, single-sign-on (SSO) is not available, so you will have to sign in to each service separately.

Stratos Governance - Governance as a Service
The Governance service will enable you to govern your middleware applications deployed on the cloud. This service is based on the WSO2 Governance Registry product, and has the same user interface & user experience. Each registered organization (tenant) has its own space in the Governance Registry & will be able to view & operate only within its allocated space.

Stratos Identity - Identity Management as a Service
Identity management in the cloud is provided by Stratos Identity, and is same as the WSO2 Identity Server product.

Stratos Application Server - AppServer as a Service
Stratos Application Server is multitenanted WSO2 WSAS running on the cloud. We have also added Web application deployment & management functionality in this version. Each organization will be able to deploy & manage their Web applications, Web services & Apache Axis2 modules using this service. These services can be governed by using the Stratos Governance service. For example, an organization may opt to centrally manage its service policies using the Stratos Governance service, and these policies can be applied across all services deployed on the Stratos Application Server.

Stratos Mashup Server - Mashups as a Service
This is multitenanted WSO2 Mashup Server running on the cloud. Organizations will be able to create, deploy & manage their mashups using this service.

Stratos Gadgets - Portal as a Service
This is multitenanted WSO2 Gadget Server on the cloud. Organizations will be able to create their own gadgets & portals & host them using this service.

Stratos Business Activity Monitor - BAM as a Service
This service allows you to monitor your entire cloud deployment. A graphical view of how your deployment is behaving can be seen using this service.

Stratos ESB - ESB as a Service
This is multitenanted WSO2 ESB on the cloud. This could be used for service mediation for services deployed in the cloud or services deployed within your organizational network. The Cloud Services Gateway component is deployed on the Stratos ESB. This components allows you to easily publish a service deployed within your organization to the cloud. In effect, a proxy service is created on the ESB, and requests received by this proxy are tunneled through the organizational firewall to the actual service. Activities such as governing these services, applying security and so on can be carried out in the cloud. We are currently working on making this service available, and updates should be available soon.

Stratos Data Services & Stratos Business Process Server should also be available in the near future.

Stratos has been designed in a cloud independent manner, so it could run on a private cloud as well. The public Stratos services at http://cloud.wso2.com have been hosted on Amazon EC2.


Host Your Web Site On The Cloud: Amazon Web Services Made Easy: Amazon EC2 Made Easy Programming Amazon Web Services: S3, EC2, SQS, FPS, and SimpleDBAmazon Web Services Made Simple: Learn how Amazon EC2, S3, SimpleDB and SQS Web Services enables you to reach business goals faster

See original post

An Architecture for Multitenant Enabling Apache Axis2

0 comments

Written by Afkham Azeez



















WSO2 Stratos supports multitenanted (MT) application deployment. Web applications, Web services, ESB mediators & mashups can be deployed in a multitenant fashion. One of the most important aspects of an MT deployment is isolation. There should be isolation between the applications hosted by the different tenants, as well as isolation between the tenant code & system code.

WSO2 Stratos is based on the WSO2 Carbon platform. Apache Axis2  sits at the center of Carbon. We use several aspects of Axis2 in Carbon; deployment, messaging, transport & tooling. During the rest of this post we will be looking at how we adopted Axis2 to support multitenanted deployment, messaging & transport.

Deployment
The system, which can also be called the super tenant, has its own AxisConfiguration (AC) & ConfigurationContext (CC). This AC & CC form the base. Each tenant also has its own AC & CC. A tenant can operate only within the boundaries of its AC & CC. The multiple AxisConfigurations are shown in the above figure. For example, two tenants, ibm.com & microsoft.com can deploy the same service archive StockQuoteService.aar within their deployment spaces. There is total isolation. IBM's StockQuoteService WSDL will be available at http://appserver.cloud.wso2.com/services/t/ibm.com/SimpleStockQuoteService?wsdl while Microsoft's  StockQuoteService WSDL will be available at http://appserver.cloud.wso2.com/services/t/microsoft.com/SimpleStockQuoteService?wsdl . As you will be able to see from the WSDLs, the service EPRs will have the organization (tenant) domain names in the URLs.

When it comes to managing these deployment, each tenant will again operate within the boundaries of its AC & CC. Hence, when a user from IBM logs in, he will be able to see artifacts deployed under the ibm.com AC only. In order to ensure that tenant code cannot call sensitive server side functionality, we have made use of Java Security, ensuring that code signed only by WSO2 can call the restricted functionality. The AxisConfiguration as well as HTTP sessions provided to each tenant also contains some security restrictions which do not allow tenants to overwrite certain critical parameters & the tenant Axis2 repository.

WSO2 Carbon provides a number of Admin services which have special privileges to manage the server. These admin services are deployed only within the main super AxisConfiguration. However, different tenants can make use of these admin services to manage their deployment. We have ensured that these admin services operate only on the AxisConfiguration of the logged in tenant.

A tenant is free to do almost whatever it wishes within its AC. For example, tenants can deploy modules and engage handlers to handle the messages differently, they could apply security, request throttling, response caching and so on.

Messaging & Transport

One of the restrictions we have imposed on tenants is that they cannot create their own transports but will have to share the transports provided by the system. So, all incoming requests will be first received by the system transports. Let us take a Web service request as an example. Say, a client of IBM makes a request to the SimpleStockQuoteService hosted by ibm.com on the Stratos Application Server. The tenant's target EPR or addressing TO header may look like, http://appserver.cloud.wso2.com/services/t/ibm.com/SimpleStockQuoteService.SimpleStockQuoteServiceHttpSoap11Endpoint/.  This request will be injected into the main AxisEngine and will go through its in flow. In the DispatchPhase, since the service will not be found, a MultitenantDispatch handler will dispatch this request to a dummy _MultitenantService. The MultitenantMessageReceiver (MTMR) is associated with this service. The MTMR will infer the target tenant from the incoming request, and if an existing tenant is found, it will inject the request into the respective tenant's AxisEngine. Now the message will go through the in flow of the respective tenant's AC, and will eventually get dispatched to the correct service in tenant's AC. If there is a response, it will go through the tenant's out flow, and will finally reach the TenantTransportSender, which will inject the message into the out flow of the super tenant. The response will go through the out flow of the super tenant & will be sent to the client. If a fault occurs, there will be a fault response which goes through the tenant's out fault flow, and then through the super tenant's out fault flow, and reach the client.

In order to generate the proper addressing information for the tenant services, the relevant transports should be associated with those services, and the transport descriptions should be there in the relevant ACs. However, we mentioned that we do not allow tenants to define their own transports. Therefore, we created dummy transports corresponding to the actual tenant transports, and set the EPRs accordingly. This is how the proper EPRs are injected into the service WSDLs.





Developing Web Services with Apache Axis2Quickstart Apache Axis2: A practical guide to creating quality web services

See original post

Carbon 3.0 P2 Repository

0 comments

Written by Afkham Azeez

See original post

Single JAR containing all Axis2 client side dependencies

0 comments

Written by Afkham Azeez

A number of dependent JARs had to be added to the classpath in order to create & compile an Apache Axis2 client project. Now we have created a single JAR which contains the minimum set of dependencies. If you are using Maven, all you need to add is the following dependency.

       <dependency>
<groupId>org.apache.axis2.wso2</groupId>
<artifactId>axis2-client</artifactId>
<version>1.6.0.wso2v1-SNAPSHOT</version>
</dependency>

This JAR is only 5MB in size.

We have still not uploaded this JAR to the WSO2 Maven repository, hence you will need to build it yourself by checking out the axis2-client project from SVN https://svn.wso2.org/repos/wso2/trunk/carbon/orbit/axis2-client



Developing Web Services with Apache Axis2Quickstart Apache Axis2: A practical guide to creating quality web services

See original post

Installing Data Services on WSAS 3.2.0

0 comments

Written by Afkham Azeez

Data Services is available as a separate P2 feature since WSAS 3.2.0. This version of WSAS is based on Carbon 3.0.0, code named iridium. If you'd like to host & manage data services on WSAS, you'd have to install the data service P2 feature. Here are the steps:

1. Download WSAS 3.2.0 from http://dist.wso2.org/products/wsas/java/3.2.0/wso2wsas-3.2.0.zip

2. Start WSAS
$CARBON_HOME/bin/wso2server.sh

3. Go to https://localhost:9443/carbon, and login as admin/admin

4. Go to the Feature Manager UI

5. Add the Carbon 3.0.0 P2 repository, http://dist.wso2.org/p2/carbon/releases/3.0.0/ as shown in the image below.















6. Once the repo is added, click the "Find Features" button.

7. Find the Data Services feature under the service hosting feature, select it, and click the install button.

8. Shutdown WSAS and restart it.

9. The data services functionality should now be available. Relogin and checkout the management console.

See original post

 

Copyright 2009 All Rights Reserved Revolution Two Church theme modified by Milinda Pathirage