WSO2 Quarterly Technical Update

36
2011 Q4 Technical Update and Roadmap Paul Fremantle, Co-Founder and CTO @pzfreo #wso2 http://pzf.fremantle.org http://wso2.com

description

 

Transcript of WSO2 Quarterly Technical Update

Page 1: WSO2 Quarterly Technical Update

2011 Q4 Technical Update and Roadmap

Paul Fremantle, Co-Founder and CTO @pzfreo #wso2

http://pzf.fremantle.org http://wso2.com

Page 2: WSO2 Quarterly Technical Update

Agenda

• Significant updates during 2011

• Recent releases

• Focus areas for 2012

• Roadmap highlights

Page 3: WSO2 Quarterly Technical Update

http://www.flickr.com/photos/andrewfarquhar/

Page 4: WSO2 Quarterly Technical Update

Carbon and Stratos Release History

© WSO2 2011

Page 5: WSO2 Quarterly Technical Update

MAJOR UPDATES FOR 2011

Page 6: WSO2 Quarterly Technical Update

Carbon Core

• JTA and distributed 2-phase transaction support • Deployment Synchronizer (including SVN

support) • Embedded LDAP directory server • Kerberos Support • SAML 2.0 sign-on for all admin consoles

• Message Broker Product

– Plus embeddable message broker component

• Complex Event Processing Server

Page 7: WSO2 Quarterly Technical Update

Deployment Synchronizer

© WSO2 2011

Master

Server Cluster

SVN-based store Registry store

Dev Environment

Options: • Use a master to populate the store or do

it as part of the development/deployment process

• Use WSO2 Registry or SVN as a store • Poll the store for updates or notification

(push) model

Local checkout

Page 8: WSO2 Quarterly Technical Update

Enterprise Service Bus

• Relay / Passthrough Transport – Significant performance improvement for load-balancing,

routing and security gatewaying

• Message Stores and Processors, Embedded Message Broker

• Templates • New mediators

– Conditional Router, PayloadFactory, URL Rewrite Mediator

• New HL7 support including MLLP • Enhanced support for service chaining, many improved

mediators, plus usual bug fixes

Page 9: WSO2 Quarterly Technical Update

Governance Registry

• SCXML based lifecycle support

• New Registry MetaModel Extension format

• UDDI v3 support

• Caching support – significant performance update

• Improved Impact Analysis

• Clustering Support

• Plus lots lots more!

Page 10: WSO2 Quarterly Technical Update

Governance Lifecycles

Page 11: WSO2 Quarterly Technical Update

Meta Model Extensions

<artifactType type="application/vnd.wso2-project+xml" shortName="projects" singularLabel="Project" pluralLabel="Projects" hasNamespace="false" iconSet="4">

<storagePath>/projects/@{name}</storagePath>

<ui>

<list>

<column name="Name">

<data type="path" value="overview_name" href="@{storagePath}"/>

</column>

</list>

</ui>

<relationships>

<association type="isPartOf" source="@{assets_entry:value}"/>

</relationships>

<content>

<table name="Overview">

<field type="text" required="true">

<name>Name</name>

</field>

<field type="text" required="true">

<name>Project Manager</name>

</field>

<field type="text-area">

<name>Description</name>

</field>

</table>

Page 12: WSO2 Quarterly Technical Update

Other major enhancements

• WSO2 Data Services Server – Column Storage Services / Cassandra Support – Full 2PC distributed transactions – Boxcarring

• WSO2 Identity Server – XACML Editor

• WSO2 Business Process Server – Clustering Support – Long running instance management views

• WSO2 Business Activity Monitor – Customizable reports, significant updates around

performance and stability

Page 13: WSO2 Quarterly Technical Update

Carbon Studio

• 12 releases in 2011! • Full editor for building Carbon and Stratos applications

– Webapps – Services – ESB flows – BPEL flows – Registry configurations

• Significant continuous improvements throughout the year – WSO2 project teams completed full engagements 100%

using Studio

• More to come in 2012

Page 14: WSO2 Quarterly Technical Update

Stratos / StratosLive

• Major release update 1.5.0 in June plus 1.5.2 this quarter – Cassandra and MySQL multi-tenant support

– Billing and Metering

– Google Apps Integration

– Deployment Synchronizer including SVN based

– Elastic Load Balancer

– 1.5.2 is significantly includes many updates based on our experiences running in 24x7 production as StratosLive

Page 15: WSO2 Quarterly Technical Update

What is Cassandra?

• Apache Cassandra http://cassandra.apache.org/

• NoSQL column family implementation

• Highly scalable, available and no single point of failure.

• Very high write throughput and good read throughput.

• SQL like query language (from 0.8) and support search through secondary indexes

• Tunable consistency and support replication

• Loose/Flexible Schema

Page 16: WSO2 Quarterly Technical Update

Cassandra Approach

Table Data Items

Books “Foundation” -> (author=asimov, rank=9, price=14, tag1=“sci-fi” tag2=“future”) “I Robot” -> (author=asimov, rank=7, price=14, tag1=“sci-fi” tag2=“robots”)

Tags2Books “sci-fi” -> 1311031405918=“Foundation”, 1311031405919=“I Robot” “future” -> …

Tags2Authors “sci-fi” -> 1311031405920=“Asimov” “future” -> …

Comments “Foundation” -> (1311031405922=“best book-sanjiva”, 1311031405923=“well I disagree-srinath”) “I Robot” -> (1311031405924=“Asimov’s best-srinath”, 1311031405928=“I like foundation better-sanjiva”)

Ranks Rank -> (9=“Foundation”, 7=“I Robot”)

Page 17: WSO2 Quarterly Technical Update

Carbon/Stratos Implementation

Page 18: WSO2 Quarterly Technical Update

http://www.flickr.com/photos/rbs/

Page 19: WSO2 Quarterly Technical Update

Focus Areas for 2012

• Tooling, Development and Presentation

• Integration, API Management and Governance

• Analytics, Data and Monitoring

• Cloud, Cloud development, Services Store

• Carbon and Stratos Foundations

Page 20: WSO2 Quarterly Technical Update

Tooling, Development, Presentation

• Carbon Studio 2.0 – Flow based ESB tooling – Better integration into Stratos for deploying cApps

• Jaggery – An application development environment in JavaScript – Including Data, Presentation and Business Logic

• Gadgets as part of webapps – Completely embeddable as part of a JSP, JSSP, or Servlet

• Significant performance improvements for JAX-WS • Better support for hosting webapps

– Virtual hosts, etc

Page 21: WSO2 Quarterly Technical Update

ESB Flow Based Tooling

Page 22: WSO2 Quarterly Technical Update

Integration

• ESB API management and REST improvements – Already in the trunk – Further performance improvements – Synapse 2.1 support

• Governance Registry – Out of the box metamodel improvements – Notification bar – S-RAMP support

• Identity Server – XACML 2.0, Simple Cloud Identity Management (SCIM) – Many further improvements including better embedability and REST

• Data Services – Cassandra-based Data Services

• Message Broker – Looking at creating a much more scalable and clusterable offering

Page 23: WSO2 Quarterly Technical Update

API Management Solution

Page 24: WSO2 Quarterly Technical Update

API Management Solution

• Available today as a combination of product plus services

– WSO2 ESB, G-Registry, IS, BAM

• OAuth keys, binary relay routing, analytics from BAM

• All managed based on policies

• Can include XACML based entitlement

Page 25: WSO2 Quarterly Technical Update

Analytics and Data

• Significant overhaul of BAM – New agent model

• Non-blocking asynchronous binary data publisher

– Cassandra support for higher scalability

– New analyzer framework

– Improved Gadget creation tooling (Gadget IDE)

• Beyond 2.0 – Include Rules and CEP support to enhance real-

time analytics

Page 26: WSO2 Quarterly Technical Update

BAM2 Architecture

Page 27: WSO2 Quarterly Technical Update

Data Publisher API (draft)

© WSO2 2011

Event event = new Event(); event.setCorrelation(createCorrelationMap()); event.setEvent(createEventDataMap()); event.setMeta(createMetaDataMap()); EventReceiver eventReceiver = new EventReceiver(); eventReceiver.setSocketTransportEnabled(true); eventReceiver.setUrl("https://localhost:9443/"); eventReceiver.setUserName("admin"); eventReceiver.setPassword("admin"); eventReceiver.setPort(7611); ArrayList<Event> events = new ArrayList<Event>(); events.add(event); BasicConfigurator.configure(); setTrustStoreParams(); AgentConfiguration configuration = new AgentConfiguration(); Agent agent = new Agent(configuration); agent.publish(events, eventReceiver); agent.shutdown();

Page 28: WSO2 Quarterly Technical Update

Analyzer configuration screen

© WSO2 2011

Page 29: WSO2 Quarterly Technical Update

Gadget IDE

© WSO2 2011

Page 30: WSO2 Quarterly Technical Update

Gadget IDE

© WSO2 2011

Page 31: WSO2 Quarterly Technical Update

More Data

• Cloud File System

– HDFS support in Stratos

• Map Reduce Service

– Hadoop-as-a-Service

Page 32: WSO2 Quarterly Technical Update

Core Carbon and Stratos

• Updates to Equinox level – Support for dOSGi

• Better support for OSGi and Tomcat

• Improvements to cApp and cApp deployment

• Multi-language support for Stratos

• Stratos Integrated development-time support – SVN projects, Maven build

• Improved Stratos homepage

• ….

Page 33: WSO2 Quarterly Technical Update

Vertical PaaS

PaaS / Stratos

Existing business systems as APIs

Tenant

Apps

Tenant

Apps

Tenant

Apps

Tenant

Apps

Eco

syst

em O

wn

er

Part

ne

rs

Use

rs

API Management / API Store

Page 34: WSO2 Quarterly Technical Update

Automated Cloud Development

• Integrating Redmine, JIRA, SVN, Governance Registry, Maven, Stratos and IS together with BPS+ESB – Creating a project in Redmine creates SVN, Stratos Project,

and populates users

– Checking in a project into SVN with “Deploy” tags initiates a review process in BPEL • Automatically creates JIRA entries for code review, security review

• When these are closed, the process progresses through staging

• Eventually the project is automatically deployed into production cloud

• Planned for inclusion in StratosLive in 2012 – Can be customized for your environment and projects

Page 35: WSO2 Quarterly Technical Update

Shared Service Solution

Page 36: WSO2 Quarterly Technical Update

Key resources

• Me: – [email protected] – #pzfreo

• OxygenTank – http://wso2.org – WSO2’s forge and developer portal – Documentation, articles, blogs and more

• http://wso2.com

© WSO2 2011