Finally back to the blog – I can’t believe I did not write any for more than a year, time absolutely flew by – New products, new responsibilities – Exciting times!
To restart blogging, I decided to start with a platform presentation. At WSO2, we often state that we have a platform and not a set of individual products. I explained that months ago when I described Carbon. This is still true (more than ever), but our products also constitute a platform – A platform you can build upon.
So what do we offer ?
Most of the enterprises we talk to have the same necessity : connect applications, people and devices. Let’s take a concrete example: imagine you create your own company. You will most likely need to provision a CRM, on-premise or in the Cloud to manage your clients and day-to-day activities. Rest of information you can manage in local databases or even spreadsheets. In order for your sales employees to be more efficient, you need them to go to customers and have their information available at any time. Best solution: you give a tablet to each of your employees. But how does the CRM data gets there, securely, in a controlled way ?
Let’s progress step by step :
- Wrap all the backend functionality as services. This may already be done by the CRM itself – If not, or if you have some custom business logic you want to reuse, r data you want to share, you’ll have to create those services. SOAP/REST/XML/JSON, Java/PHP/Scala, you choose. Once services are created, it won’t really matter, so choose what you’re comfortable with.
- Best practices recommend that you decouple the consumers of those services from the producers. In other words, you need a mediation layer between your existing services. This layer may be very simple in the beginning ( i.e. act as a simple reverse proxy) but once this is in place, the transformation, enrichment or guaranteed delivery use cases can be easily handled.
- Expose those services as APIs – The APIs are your contract with the consumers. APIs have their own life cycle, are managed ( for security and rate control ). Service is the implementation. If you are not convinced, read this : http://sanjiva.weerawarana.org/2012/08/api-management-missing-link-for-soa.html.
- All right, now you have APIs – How will people find them ? Think about the all the Apple apps, but without the Apple Store. How would we know which apps are available, what other consumers think about them, how would we interact with the apps authors ? Same applies to your APIs. If they are not socialized through a store, you won’t achieve the reuse level you are targeting, nor will we engage with your clients.
- Your APIs are deployed and people use them. But do you know who uses them? Which is APIs is the mostly used, which one is not ? Analytics are a core part of this strategy, but they give you visibility into the system.
- And of course security: not only do you need to secure the access to your APIs, but you may also have to support single-sign on to applications, or allow your employees to use their emailID to view CRM data.
The WSO2 platform allows you to address all of these aspects; you may consume the whole platform or just parts of it. You may have existing services deployed on various systems or an existing ESB. As long as all of they use standard approaches ( which most of them do ) , chances are you can plug one of our components into your architecture.
In subsequent posts, I will detail each of the platform themes: integration, API management, Assets socialization, Analytics and Security.