SlideShare une entreprise Scribd logo
1  sur  31
Carbon: Towards a Server
Building Framework for SOA
Platform
Srinath Perera, Ph.D.,
Senior Software Architect, WSO2 Inc.
Visiting Faculty, University of Moratuwa
Member, Apache Software Foundation
Research Scientist, Lanka Software Foundation
Outline
● Challenges of building a Next Generation SOA
platform
● A Recipe for a Solution
● Carbon Platform Architecture
● How does it make a difference?
● Conclusion
Building Next Generation SOA
Platform
● At Year 2005, several contributors to Apache Web Services
Project at WSO2 started an effort to build a next generation SOA
platform by integrating, and extending Apache WS projects to a
one platform.
● After 5 years, 3 major releases (1.0 to 3.0), and few thousand
man months, we have more than 10 products that covers most of
the SOA platform.
● Apart from SOA challenges, we faced major Software
Engineering and Middleware challenges, and this is our story.
SOA Platform
● We are taking about a one platform that handles the breadth of
SOA that includes a Application Server, ESB, workflow Engine,
Gadget Server …
● They have to work as a one unit, not as 10 different projects, with
single security model, governance model, look and feel etc..
● It is a single system that takes hours to download, hours to build!
Composition of SOA Platform
● SOA Platform should support many SOA and related concepts:
Service, Workflow, Mediation, Mashup, Rules, CEP, Registry,
Governance, Monitoring ...
● Also there are many cross cutting concepts like security, UI,
logging, clustering, caching ..
● We typically handle platform as collection of servers, where each
service supports some of the concepts.
Challenges
● Avoid duplicates and maximize sharing
– Sharing cross cutting aspects like security,
storage, UIs etc.
– Maximize sharing across different features.
● Reduce the coupling between different
parts, and enable composition of features
● Make the platform extensible
● When writing a new extension, reduce the
work need to be done to enable cross
cutting aspects and to integrate with rest
of the platform.
● Do all above with first class support to
SOA
Challenges: Pizza Parlor Example
● Customization vs. few sizes fit all solutions
● With software it forces solution architecture to be
conformed to available products.
Recipe for a Solution
CBSE and Complex Systems
● CBSE (Component based Software Engineering) is used to
handle complex systems in a loosely coupled manner.
● Define a component
– Unit of deployment, versioning, and replacement
– provide interfaces, support introspection, reflection
– Have a deploable archive format
– Include Metadata about itself
– Define dependancies and often support IOC (Inversion of
Control)
– Can be composed at deployment or runtime
Kernel of the Platform
● As mentioned with challenges,
servers, as well as different features
shares many things, like security and
execution
● Building an kernel which holds the
main functionality is often use to
handle such situations.
● Idea can be best explained through
kernel of vector spaces, which
provide a orthonormal basis for the
vector space.
A Server Building Framework?
● Since SOA platform includes many servers that have different
functionality, we argue that we should try to build a server
building framework for SOA platform
● One potential approach is to define different functionality as
components and compose them to build servers.
● IOC (Inversion of Control) based component framework
Carbon Platform
Goal
● Mostly what we discussed as challenges
● We look to build a Server Building framework
– On top of a Component model that support IOC
– Support first class support to SOA
– And support building servers through composition
of components
High Level Architecture
● High level architecture includes three parts
– Carbon component framework which extends
OSGi to support SOA artifacts
– Carbon runtime that integrates Axis2 with OSGi
and support security and UI support.
– Kernel Services
● These are supported within the Carbon Core,
and other components are built on top of the
Carbon Core.
Carbon Components
● Carbon is built on OSGi (Eclipse Equinox)
– Using Components, IOC support, and P2
support from OSGi
● Extends the OSGi components to support SOA
artifacts as first class.
● Carbon integrates Axis2 with OSGi and
supports SOA specific metadata within Carbon
components
– E.g. Component can include service definitions
which are identified and deployed by Carbon.
Runtime Architecture
● Integrates Axis2 to OSGi
● Detect, process, and
support SOA specific
metadata from Carbon
bundles.
● Intercept all requests
through “Bridge Servelt”
and support
– Security model
– UI support
Kernel of the Platform
● We support following as kernel services through
Carbon core (Available as OSGi services through IOC)
– Execution (supporting services and workflows)
– Data Storage
– Security (user management, authentication,
authorization)
– User Interfaces
– Other Services (monitoring, caching, clustering etc.)
● They are used by most components and simplify
development of new components.
Event Server as a Example
● Components
– A Service
– Admin UI
– Admin Services
● All Implemented as components and composed with Carbon.
Carbon Components
How Products are Built?
WSO2 Carbon Platform
Building Custom Products
How to Handle Conflicts?
● Can components clash when they are
composed in different combinations?
● Mainly through conventions
– All inter-component communication is through
OSGI components
– Store all configurations in its own space
– OSGI ensure all dependancies are available
● Resulting system has the same characteristics
as a loosely coupled SOA system where users
pick and choose services and create
applications using them.
How does Carbon make a
Difference?
How does it make a difference?
● Enable architects to draw server boundaries according
to the problem at hand by defining their custom
servers.
● Just like eclipse, Carbon enables users to customize
servers by adding or removing features at runtime.
● Through the kernel, components get support for
cross cutting concerns (e.g. security) with minimal
work, thus let users focus on main features of his
component.
● First class support for User Interfaces as a part of
components. (Written as JSP + Metadata)
How does it make a difference?
(Contd.)
● Uniformity across the platform: same look and feel,
startup, configurations, programming model etc. Hence if
a user knows one server, he knows others.
● Kernel and components enable reuse, avoid repetition,
and promote composition.
● Support platform wide aspects like a logging, governance,
monitoring etc. And those aspects work consistently
across the platform out of the box.
● As most features are drawn from the component
repository, Carbon simplifies the development of new
servers.
● Provides an OSGI based component framework for SOA
developers
Few Further Steps
● Carbon supports multi- tenancy: Discussed in “Afkham
Azeez, Srinath Perera, et. al., "Multi-Tenant SOA
Middleware for Cloud Computing" 3rd International
Conference on Cloud Computing, Florida, 2010”
● Complete Carbon platform is now available as a
Service: (Stratos, see http://wso2.com/cloud/stratos/).
Discussed in “Afkham Azeez, Srinath Perera, et. al.,
WSO2 Stratos: An Industrial Stack to Support Cloud
Computing”, submitted to IT: Methods and Applications
of Informatics and Information Technology Journal.
Open Questions/Challenges
● Investigate in to “Kernel” of the SOA platform, add remove
features to get the right mix.
● UI Framework and integration with components (e.g. Single
Sign on Support)
● Optimizing Carbon programming model
● CApp – Carbon archive format, which enable users to write a
one archive that will include many SOA artifacts like Web
Services, Workflows etc. (like EAR for J2EE)
● Carbon Studio – an integrated development environment for
Carbon.
Few Places Where Carbon is in
Use
Conclusion
● We discussed Carbon Server Building Framework
– Motivation
– How it is build?
– How does it make a difference?
● Currently Carbon is the core of WSO2 platform which
includes 10+ servers and hundreds of deployments (70+
customers) .
● Everything is available under Apache open source license.
All discussions public! We welcome your comments as
well as contributions.
More Info
 Corporate website: http://wso2.com
 Developer portal: http://wso2.org
 Business development team: bizdev@wso2.com
 srinath@wso2.com

Contenu connexe

Similaire à Carbon: Towards a Server Building Framework for SOA Platform

How to build a custom stack with WSO2 carbon
How to build a custom stack with WSO2 carbon How to build a custom stack with WSO2 carbon
How to build a custom stack with WSO2 carbon WSO2
 
How to build a custom stack with wso2 carbon
How to build a custom stack with wso2 carbonHow to build a custom stack with wso2 carbon
How to build a custom stack with wso2 carbonShameera Rathnayaka
 
WSO2Con US 2013 - Using the Carbon Architecture To Build a Fit-for-Purpose Pl...
WSO2Con US 2013 - Using the Carbon Architecture To Build a Fit-for-Purpose Pl...WSO2Con US 2013 - Using the Carbon Architecture To Build a Fit-for-Purpose Pl...
WSO2Con US 2013 - Using the Carbon Architecture To Build a Fit-for-Purpose Pl...WSO2
 
Using the Carbon Architecture to Build a Fit-for-Purpose Platform
Using the Carbon Architecture to Build a Fit-for-Purpose PlatformUsing the Carbon Architecture to Build a Fit-for-Purpose Platform
Using the Carbon Architecture to Build a Fit-for-Purpose PlatformSameera Jayasoma
 
Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingWSO2
 
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entitySpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entityjordigilnieto
 
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entitySpring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entityToni Jara
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - IntroductionWebStackAcademy
 
Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Shameer Thaha Koya
 
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?Jon Petter Hjulstad
 
Scaling AngularJS: Enterprise SOA on the MEAN Stack (Responsive Web & Mobile)
Scaling AngularJS: Enterprise SOA on the MEAN Stack (Responsive Web & Mobile)Scaling AngularJS: Enterprise SOA on the MEAN Stack (Responsive Web & Mobile)
Scaling AngularJS: Enterprise SOA on the MEAN Stack (Responsive Web & Mobile)Movel
 
Why Does Modular Middleware Matters
Why Does Modular Middleware MattersWhy Does Modular Middleware Matters
Why Does Modular Middleware MattersWSO2
 
Eclipse plug in development
Eclipse plug in developmentEclipse plug in development
Eclipse plug in developmentMartin Toshev
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathonaaronwso2
 
Leveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseLeveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseAndrew Kelleher
 
2016_04_04_CNI_Spring_Meeting_Microservices
2016_04_04_CNI_Spring_Meeting_Microservices2016_04_04_CNI_Spring_Meeting_Microservices
2016_04_04_CNI_Spring_Meeting_MicroservicesJason Varghese
 
Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingSrinath Perera
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014Hojoong Kim
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerVMware Tanzu
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerGregor Zurowski
 

Similaire à Carbon: Towards a Server Building Framework for SOA Platform (20)

How to build a custom stack with WSO2 carbon
How to build a custom stack with WSO2 carbon How to build a custom stack with WSO2 carbon
How to build a custom stack with WSO2 carbon
 
How to build a custom stack with wso2 carbon
How to build a custom stack with wso2 carbonHow to build a custom stack with wso2 carbon
How to build a custom stack with wso2 carbon
 
WSO2Con US 2013 - Using the Carbon Architecture To Build a Fit-for-Purpose Pl...
WSO2Con US 2013 - Using the Carbon Architecture To Build a Fit-for-Purpose Pl...WSO2Con US 2013 - Using the Carbon Architecture To Build a Fit-for-Purpose Pl...
WSO2Con US 2013 - Using the Carbon Architecture To Build a Fit-for-Purpose Pl...
 
Using the Carbon Architecture to Build a Fit-for-Purpose Platform
Using the Carbon Architecture to Build a Fit-for-Purpose PlatformUsing the Carbon Architecture to Build a Fit-for-Purpose Platform
Using the Carbon Architecture to Build a Fit-for-Purpose Platform
 
Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud Computing
 
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entitySpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
SpringIO 2016 - Spring Cloud MicroServices, a journey inside a financial entity
 
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entitySpring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - Introduction
 
Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)Composite Apps using SCA (Service Component Architecture)
Composite Apps using SCA (Service Component Architecture)
 
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
Sysco Oracle Tour 2016 - What's new in FMW 12.2.1?
 
Scaling AngularJS: Enterprise SOA on the MEAN Stack (Responsive Web & Mobile)
Scaling AngularJS: Enterprise SOA on the MEAN Stack (Responsive Web & Mobile)Scaling AngularJS: Enterprise SOA on the MEAN Stack (Responsive Web & Mobile)
Scaling AngularJS: Enterprise SOA on the MEAN Stack (Responsive Web & Mobile)
 
Why Does Modular Middleware Matters
Why Does Modular Middleware MattersWhy Does Modular Middleware Matters
Why Does Modular Middleware Matters
 
Eclipse plug in development
Eclipse plug in developmentEclipse plug in development
Eclipse plug in development
 
2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon2014 q3-platform-update-v1.06.johnmathon
2014 q3-platform-update-v1.06.johnmathon
 
Leveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseLeveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the Enterprise
 
2016_04_04_CNI_Spring_Meeting_Microservices
2016_04_04_CNI_Spring_Meeting_Microservices2016_04_04_CNI_Spring_Meeting_Microservices
2016_04_04_CNI_Spring_Meeting_Microservices
 
Multi-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud ComputingMulti-Tenant SOA Middleware for Cloud Computing
Multi-Tenant SOA Middleware for Cloud Computing
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile Manufacturer
 
Adopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile ManufacturerAdopting PCF At An Automobile Manufacturer
Adopting PCF At An Automobile Manufacturer
 

Plus de Srinath Perera

Book: Software Architecture and Decision-Making
Book: Software Architecture and Decision-MakingBook: Software Architecture and Decision-Making
Book: Software Architecture and Decision-MakingSrinath Perera
 
Data science Applications in the Enterprise
Data science Applications in the EnterpriseData science Applications in the Enterprise
Data science Applications in the EnterpriseSrinath Perera
 
An Introduction to APIs
An Introduction to APIs An Introduction to APIs
An Introduction to APIs Srinath Perera
 
An Introduction to Blockchain for Finance Professionals
An Introduction to Blockchain for Finance ProfessionalsAn Introduction to Blockchain for Finance Professionals
An Introduction to Blockchain for Finance ProfessionalsSrinath Perera
 
AI in the Real World: Challenges, and Risks and how to handle them?
AI in the Real World: Challenges, and Risks and how to handle them?AI in the Real World: Challenges, and Risks and how to handle them?
AI in the Real World: Challenges, and Risks and how to handle them?Srinath Perera
 
Healthcare + AI: Use cases & Challenges
Healthcare + AI: Use cases & ChallengesHealthcare + AI: Use cases & Challenges
Healthcare + AI: Use cases & ChallengesSrinath Perera
 
How would AI shape Future Integrations?
How would AI shape Future Integrations?How would AI shape Future Integrations?
How would AI shape Future Integrations?Srinath Perera
 
The Role of Blockchain in Future Integrations
The Role of Blockchain in Future IntegrationsThe Role of Blockchain in Future Integrations
The Role of Blockchain in Future IntegrationsSrinath Perera
 
Blockchain: Where are we? Where are we going?
Blockchain: Where are we? Where are we going? Blockchain: Where are we? Where are we going?
Blockchain: Where are we? Where are we going? Srinath Perera
 
Few thoughts about Future of Blockchain
Few thoughts about Future of BlockchainFew thoughts about Future of Blockchain
Few thoughts about Future of BlockchainSrinath Perera
 
A Visual Canvas for Judging New Technologies
A Visual Canvas for Judging New TechnologiesA Visual Canvas for Judging New Technologies
A Visual Canvas for Judging New TechnologiesSrinath Perera
 
Privacy in Bigdata Era
Privacy in Bigdata  EraPrivacy in Bigdata  Era
Privacy in Bigdata EraSrinath Perera
 
Blockchain, Impact, Challenges, and Risks
Blockchain, Impact, Challenges, and RisksBlockchain, Impact, Challenges, and Risks
Blockchain, Impact, Challenges, and RisksSrinath Perera
 
Today's Technology and Emerging Technology Landscape
Today's Technology and Emerging Technology LandscapeToday's Technology and Emerging Technology Landscape
Today's Technology and Emerging Technology LandscapeSrinath Perera
 
An Emerging Technologies Timeline
An Emerging Technologies TimelineAn Emerging Technologies Timeline
An Emerging Technologies TimelineSrinath Perera
 
The Rise of Streaming SQL and Evolution of Streaming Applications
The Rise of Streaming SQL and Evolution of Streaming ApplicationsThe Rise of Streaming SQL and Evolution of Streaming Applications
The Rise of Streaming SQL and Evolution of Streaming ApplicationsSrinath Perera
 
Analytics and AI: The Good, the Bad and the Ugly
Analytics and AI: The Good, the Bad and the UglyAnalytics and AI: The Good, the Bad and the Ugly
Analytics and AI: The Good, the Bad and the UglySrinath Perera
 
Transforming a Business Through Analytics
Transforming a Business Through AnalyticsTransforming a Business Through Analytics
Transforming a Business Through AnalyticsSrinath Perera
 
SoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration TechnologySoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration TechnologySrinath Perera
 

Plus de Srinath Perera (20)

Book: Software Architecture and Decision-Making
Book: Software Architecture and Decision-MakingBook: Software Architecture and Decision-Making
Book: Software Architecture and Decision-Making
 
Data science Applications in the Enterprise
Data science Applications in the EnterpriseData science Applications in the Enterprise
Data science Applications in the Enterprise
 
An Introduction to APIs
An Introduction to APIs An Introduction to APIs
An Introduction to APIs
 
An Introduction to Blockchain for Finance Professionals
An Introduction to Blockchain for Finance ProfessionalsAn Introduction to Blockchain for Finance Professionals
An Introduction to Blockchain for Finance Professionals
 
AI in the Real World: Challenges, and Risks and how to handle them?
AI in the Real World: Challenges, and Risks and how to handle them?AI in the Real World: Challenges, and Risks and how to handle them?
AI in the Real World: Challenges, and Risks and how to handle them?
 
Healthcare + AI: Use cases & Challenges
Healthcare + AI: Use cases & ChallengesHealthcare + AI: Use cases & Challenges
Healthcare + AI: Use cases & Challenges
 
How would AI shape Future Integrations?
How would AI shape Future Integrations?How would AI shape Future Integrations?
How would AI shape Future Integrations?
 
The Role of Blockchain in Future Integrations
The Role of Blockchain in Future IntegrationsThe Role of Blockchain in Future Integrations
The Role of Blockchain in Future Integrations
 
Future of Serverless
Future of ServerlessFuture of Serverless
Future of Serverless
 
Blockchain: Where are we? Where are we going?
Blockchain: Where are we? Where are we going? Blockchain: Where are we? Where are we going?
Blockchain: Where are we? Where are we going?
 
Few thoughts about Future of Blockchain
Few thoughts about Future of BlockchainFew thoughts about Future of Blockchain
Few thoughts about Future of Blockchain
 
A Visual Canvas for Judging New Technologies
A Visual Canvas for Judging New TechnologiesA Visual Canvas for Judging New Technologies
A Visual Canvas for Judging New Technologies
 
Privacy in Bigdata Era
Privacy in Bigdata  EraPrivacy in Bigdata  Era
Privacy in Bigdata Era
 
Blockchain, Impact, Challenges, and Risks
Blockchain, Impact, Challenges, and RisksBlockchain, Impact, Challenges, and Risks
Blockchain, Impact, Challenges, and Risks
 
Today's Technology and Emerging Technology Landscape
Today's Technology and Emerging Technology LandscapeToday's Technology and Emerging Technology Landscape
Today's Technology and Emerging Technology Landscape
 
An Emerging Technologies Timeline
An Emerging Technologies TimelineAn Emerging Technologies Timeline
An Emerging Technologies Timeline
 
The Rise of Streaming SQL and Evolution of Streaming Applications
The Rise of Streaming SQL and Evolution of Streaming ApplicationsThe Rise of Streaming SQL and Evolution of Streaming Applications
The Rise of Streaming SQL and Evolution of Streaming Applications
 
Analytics and AI: The Good, the Bad and the Ugly
Analytics and AI: The Good, the Bad and the UglyAnalytics and AI: The Good, the Bad and the Ugly
Analytics and AI: The Good, the Bad and the Ugly
 
Transforming a Business Through Analytics
Transforming a Business Through AnalyticsTransforming a Business Through Analytics
Transforming a Business Through Analytics
 
SoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration TechnologySoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration Technology
 

Dernier

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 

Dernier (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Carbon: Towards a Server Building Framework for SOA Platform

  • 1. Carbon: Towards a Server Building Framework for SOA Platform Srinath Perera, Ph.D., Senior Software Architect, WSO2 Inc. Visiting Faculty, University of Moratuwa Member, Apache Software Foundation Research Scientist, Lanka Software Foundation
  • 2. Outline ● Challenges of building a Next Generation SOA platform ● A Recipe for a Solution ● Carbon Platform Architecture ● How does it make a difference? ● Conclusion
  • 3. Building Next Generation SOA Platform ● At Year 2005, several contributors to Apache Web Services Project at WSO2 started an effort to build a next generation SOA platform by integrating, and extending Apache WS projects to a one platform. ● After 5 years, 3 major releases (1.0 to 3.0), and few thousand man months, we have more than 10 products that covers most of the SOA platform. ● Apart from SOA challenges, we faced major Software Engineering and Middleware challenges, and this is our story.
  • 4. SOA Platform ● We are taking about a one platform that handles the breadth of SOA that includes a Application Server, ESB, workflow Engine, Gadget Server … ● They have to work as a one unit, not as 10 different projects, with single security model, governance model, look and feel etc.. ● It is a single system that takes hours to download, hours to build!
  • 5. Composition of SOA Platform ● SOA Platform should support many SOA and related concepts: Service, Workflow, Mediation, Mashup, Rules, CEP, Registry, Governance, Monitoring ... ● Also there are many cross cutting concepts like security, UI, logging, clustering, caching .. ● We typically handle platform as collection of servers, where each service supports some of the concepts.
  • 6. Challenges ● Avoid duplicates and maximize sharing – Sharing cross cutting aspects like security, storage, UIs etc. – Maximize sharing across different features. ● Reduce the coupling between different parts, and enable composition of features ● Make the platform extensible ● When writing a new extension, reduce the work need to be done to enable cross cutting aspects and to integrate with rest of the platform. ● Do all above with first class support to SOA
  • 7. Challenges: Pizza Parlor Example ● Customization vs. few sizes fit all solutions ● With software it forces solution architecture to be conformed to available products.
  • 8. Recipe for a Solution
  • 9. CBSE and Complex Systems ● CBSE (Component based Software Engineering) is used to handle complex systems in a loosely coupled manner. ● Define a component – Unit of deployment, versioning, and replacement – provide interfaces, support introspection, reflection – Have a deploable archive format – Include Metadata about itself – Define dependancies and often support IOC (Inversion of Control) – Can be composed at deployment or runtime
  • 10. Kernel of the Platform ● As mentioned with challenges, servers, as well as different features shares many things, like security and execution ● Building an kernel which holds the main functionality is often use to handle such situations. ● Idea can be best explained through kernel of vector spaces, which provide a orthonormal basis for the vector space.
  • 11. A Server Building Framework? ● Since SOA platform includes many servers that have different functionality, we argue that we should try to build a server building framework for SOA platform ● One potential approach is to define different functionality as components and compose them to build servers. ● IOC (Inversion of Control) based component framework
  • 13. Goal ● Mostly what we discussed as challenges ● We look to build a Server Building framework – On top of a Component model that support IOC – Support first class support to SOA – And support building servers through composition of components
  • 14. High Level Architecture ● High level architecture includes three parts – Carbon component framework which extends OSGi to support SOA artifacts – Carbon runtime that integrates Axis2 with OSGi and support security and UI support. – Kernel Services ● These are supported within the Carbon Core, and other components are built on top of the Carbon Core.
  • 15. Carbon Components ● Carbon is built on OSGi (Eclipse Equinox) – Using Components, IOC support, and P2 support from OSGi ● Extends the OSGi components to support SOA artifacts as first class. ● Carbon integrates Axis2 with OSGi and supports SOA specific metadata within Carbon components – E.g. Component can include service definitions which are identified and deployed by Carbon.
  • 16. Runtime Architecture ● Integrates Axis2 to OSGi ● Detect, process, and support SOA specific metadata from Carbon bundles. ● Intercept all requests through “Bridge Servelt” and support – Security model – UI support
  • 17. Kernel of the Platform ● We support following as kernel services through Carbon core (Available as OSGi services through IOC) – Execution (supporting services and workflows) – Data Storage – Security (user management, authentication, authorization) – User Interfaces – Other Services (monitoring, caching, clustering etc.) ● They are used by most components and simplify development of new components.
  • 18. Event Server as a Example ● Components – A Service – Admin UI – Admin Services ● All Implemented as components and composed with Carbon.
  • 23. How to Handle Conflicts? ● Can components clash when they are composed in different combinations? ● Mainly through conventions – All inter-component communication is through OSGI components – Store all configurations in its own space – OSGI ensure all dependancies are available ● Resulting system has the same characteristics as a loosely coupled SOA system where users pick and choose services and create applications using them.
  • 24. How does Carbon make a Difference?
  • 25. How does it make a difference? ● Enable architects to draw server boundaries according to the problem at hand by defining their custom servers. ● Just like eclipse, Carbon enables users to customize servers by adding or removing features at runtime. ● Through the kernel, components get support for cross cutting concerns (e.g. security) with minimal work, thus let users focus on main features of his component. ● First class support for User Interfaces as a part of components. (Written as JSP + Metadata)
  • 26. How does it make a difference? (Contd.) ● Uniformity across the platform: same look and feel, startup, configurations, programming model etc. Hence if a user knows one server, he knows others. ● Kernel and components enable reuse, avoid repetition, and promote composition. ● Support platform wide aspects like a logging, governance, monitoring etc. And those aspects work consistently across the platform out of the box. ● As most features are drawn from the component repository, Carbon simplifies the development of new servers. ● Provides an OSGI based component framework for SOA developers
  • 27. Few Further Steps ● Carbon supports multi- tenancy: Discussed in “Afkham Azeez, Srinath Perera, et. al., "Multi-Tenant SOA Middleware for Cloud Computing" 3rd International Conference on Cloud Computing, Florida, 2010” ● Complete Carbon platform is now available as a Service: (Stratos, see http://wso2.com/cloud/stratos/). Discussed in “Afkham Azeez, Srinath Perera, et. al., WSO2 Stratos: An Industrial Stack to Support Cloud Computing”, submitted to IT: Methods and Applications of Informatics and Information Technology Journal.
  • 28. Open Questions/Challenges ● Investigate in to “Kernel” of the SOA platform, add remove features to get the right mix. ● UI Framework and integration with components (e.g. Single Sign on Support) ● Optimizing Carbon programming model ● CApp – Carbon archive format, which enable users to write a one archive that will include many SOA artifacts like Web Services, Workflows etc. (like EAR for J2EE) ● Carbon Studio – an integrated development environment for Carbon.
  • 29. Few Places Where Carbon is in Use
  • 30. Conclusion ● We discussed Carbon Server Building Framework – Motivation – How it is build? – How does it make a difference? ● Currently Carbon is the core of WSO2 platform which includes 10+ servers and hundreds of deployments (70+ customers) . ● Everything is available under Apache open source license. All discussions public! We welcome your comments as well as contributions.
  • 31. More Info  Corporate website: http://wso2.com  Developer portal: http://wso2.org  Business development team: bizdev@wso2.com  srinath@wso2.com