SlideShare a Scribd company logo
1 of 62
Download to read offline
Systems Integration in the Cloud Era




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Kai Wähner


                                                                                        Main Tasks
                                                                     Evaluation of Technologies and Products
                                                                            Requirements Engineering
                                                                       Enterprise Architecture Management
                                                                         Business Process Management
                                                                 Architecture and Development of Applications
                                                                        Planning and Introduction of SOA
                                                                       Integration of Legacy Applications
                                                                                Cloud Computing
                                                                                    Big Data

              Consulting
              Developing                                                                   Contact
               Speaking                                                    Email: kontakt@kai-waehner.de
               Coaching                                                    Blog: www.kai-waehner.de/blog
                Writing                                                         Twitter: @KaiWaehner
                                                                           Social Networks: Xing, LinkedIn


www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
What is the Problem?




                                                                                    Growth

                                                                                   •  Applications
                                                                                   •  Interfaces
                                                                                   •  Technologies
                                                                                   •  Products



www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
A new Era: Cloud Computing




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Solution: Systems Integration




                                                             All Roads lead
                                                               to Rome ...
www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Wishes




                                                         •  Standardized Modeling
                                                         •  Efficient Realization
                                                         •  Automatic Testing
www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Systems Integration in the Cloud Era




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
What is the Key Message?




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Key Messages




   The Cloud already arrived, and must be integrated!




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Key Messages




   The Cloud already arrived, and must be integrated!
   Cloud Integration is already possible!




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Key Messages




   The Cloud already arrived, and must be integrated!
   Cloud Integration is already possible!
   Apache Camel helps a lot!


www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Agenda



       1) Introduction to Cloud Computing


       2) Introduction to Apache Camel


       3) IaaS Integration (Amazon Web Services)


       4) PaaS Integration (Google App Engine)


       5) SaaS Integration (Salesforce)


       6) Custom Cloud Components



www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Agenda



       1) Introduction to Cloud Computing


       2) Introduction to Apache Camel


       3) IaaS Integration (Amazon Web Services)


       4) PaaS Integration (Google App Engine)


       5) SaaS Integration (Salesforce)


       6) Custom Cloud Components



www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Cloud Computing

                                                              Infrastructure                   Platform        Software
                                 On Premise
      On Premise                                               as a Service                   as a Service    as a Service
                                   hosted
                                                                  (IaaS)                        (PaaS)           (SaaS)



         App                         App                           App                           App             App
          VM                         VM                            VM                             VM             VM
       Server                      Server                       Server                         Server          Server
      Storage                     Storage                      Storage                        Storage         Storage
      Network                    Network                       Network                        Network         Network




     Organisation                                                Control                                        Vendor
      has control                                               is shared                                     has control




www.mwea.de         "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Every Vendor offers Cloud Products




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Agenda



       1) Introduction to Cloud Computing


       2) Introduction to Apache Camel


       3) IaaS Integration (Amazon Web Services)


       4) PaaS Integration (Google App Engine)


       5) SaaS Integration (Salesforce)


       6) Custom Cloud Components



www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Alternatives for Systems Integration




                                                                      Enterprise Service Bus
                             Integration                                       (ESB)
        API
                             Framework
                                                                                                                Complexity
                                                                                                               of Integration
   Low                                                                                                  High




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Alternatives for Systems Integration




                                                                            Enterprise Service Bus
                                   Integration                                       (ESB)
        API
                                   Framework
                                                                                                                             Complexity
                                                                                                                            of Integration
   Low                                                                                                        High




                            Apache Camel vs. Spring Integration vs. Mule
http://www.kai-waehner.de/blog/2012/01/10/spoilt-for-choice-which-integration-framework-to-use-spring-integration-mule-esb-or-apache-camel/




www.mwea.de         "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Enterprise Integration Patterns (EIP)




                                                           Apache Camel
                                                         Implements the EIPs

www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Enterprise Integration Patterns (EIP)




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Enterprise Integration Patterns (EIP)




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Architecture




                                                                   http://java.dzone.com/articles/apache-camel-integration




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Choose your favorite DSL




                                                                       XML


                                                                                                 (not production-ready yet)



www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Choose your required Components


                       TCP
  SQL                                                                       SMTP                                      JMS
                                              Netty                                                  Jetty
                RMI
                                  FTP                        Lucene                    JDBC                     EJB

                        Bean-Validation                                           MQ            IRC
     JMX
                                                                                                             Quartz
                               RSS                                  AMQP

                                                  Atom                                         Log
         AWS-S3               HTTP
                                                                                                                XSLT
                                                                           LDAP
  File                                            Akka
              Many many more
                                                                     CXF                    Custom Components


www.mwea.de      "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Deploy it wherever you need



 Standalone                                                      Application Server
                     Web Container
                                                                     Spring Container

                                                                               OSGi
                                                                                          Cloud

www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Enterprise-ready




                                                                               •  Open Source
                                                                               •  Scalability
                                                                               •  Error Handling
                                                                               •  Transaction
                                                                               •  Monitoring
                                                                               •  Tooling
                                                                               •  Commercial Support
www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Live Demo




                                                              Apache Camel in Action

www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Agenda



       1) Introduction to Cloud Computing


       2) Introduction to Apache Camel


       3) IaaS Integration (Amazon Web Services)


       4) PaaS Integration (Google App Engine)


       5) SaaS Integration (Salesforce)


       6) Custom Cloud Components



www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Cloud Computing

                                                              Infrastructure                   Platform        Software
                                 On Premise
      On Premise                                               as a Service                   as a Service    as a Service
                                   hosted
                                                                  (IaaS)                        (PaaS)           (SaaS)



         App                         App                           App                           App             App
          VM                         VM                            VM                             VM             VM
       Server                      Server                       Server                         Server          Server
      Storage                     Storage                      Storage                        Storage         Storage
      Network                    Network                       Network                        Network         Network




     Organisation                                                Control                                        Vendor
      has control                                               is shared                                     has control




www.mwea.de         "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Infrastructure as a Service (IaaS)




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
IaaS Concepts (Example: AWS)


                                                                           Compute
                                                                           Amazon Elastic Compute Cloud (EC2)
                                                                           Amazon Elastic MapReduce (EMR)

                                                                           Storage
                                                                           Amazon Simple Storage Service (S3)
                                                                           Amazon Elastic Block Store (EBS)
                                                                           SimpleDB (SDB)

                                                                           Database
                                                                           Amazon Relational Database Service (RDS)
                                                                           Amazon DynamoDB (DDB)
                                                                           Amazon ElastiCache

                                                                           Application Services
                                                                           Amazon Simple Workflow Service (SWF)
                                                                           Amazon Simple Queue Service (SQS)
                                                                           Amazon Simple Notification Service (SNS)
                                                                           Amazon Simple Email Service (SES)

                                                                           Many more ...

www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Code Example - AWS S3 (Java API)

              AmazonS3 s3 = new AmazonS3Client(new PropertiesCredentials(
                 S3Sample.class.getResourceAsStream("AwsCredentials.properties")));

              String bucketName = "my-first-s3-bucket-" + UUID.randomUUID();
              String key = "MyObjectKey";

              try {

                 s3.createBucket(bucketName);
                 s3.putObject(new PutObjectRequest(bucketName, key, createSampleFile()));

                 S3Object object = s3.getObject(new GetObjectRequest(bucketName, key));

                 ObjectListing objectListing = s3.listObjects(new ListObjectsRequest()
                     .withBucketName(bucketName)
                     .withPrefix("My"));

                 s3.deleteObject(bucketName, key);
                 s3.deleteBucket(bucketName);

              } catch (AmazonServiceException ase) {
                // error handling...
              } catch (AmazonClientException ace) {
                // error handling...
              }



www.mwea.de      "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Code Example - Camel AWS Component




   // Producer
   from("direct:startToS3")
      .setHeader(S3Constants.KEY, simple(“order.txt"))
      .to("aws-s3://myBucket?accessKey=" + a + "&secretKey= " + s)



   // Consumer
   from("aws-s3://myBucket?accessKey=“ + a + "&secretKey=" + s)
      .to("log:S3logging")



www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Live Demo




                                                              IaaS Integration in Action
www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Agenda



       1) Introduction to Cloud Computing


       2) Introduction to Apache Camel


       3) IaaS Integration (Amazon Web Services)


       4) PaaS Integration (Google App Engine)


       5) SaaS Integration (Salesforce)


       6) Custom Cloud Components



www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Cloud Computing

                                                              Infrastructure                   Platform        Software
                                 On Premise
      On Premise                                               as a Service                   as a Service    as a Service
                                   hosted
                                                                  (IaaS)                        (PaaS)           (SaaS)



         App                         App                           App                           App             App
          VM                         VM                            VM                             VM             VM
       Server                      Server                       Server                         Server          Server
      Storage                     Storage                      Storage                        Storage         Storage
      Network                    Network                       Network                        Network         Network




     Organisation                                                Control                                        Vendor
      has control                                               is shared                                     has control




www.mwea.de         "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Platform as a Service (PaaS)




     Elastic Beanstalk




www.mwea.de    "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
PaaS Conepts (Example: GAE)

                                                                                           Application Deployment
                                                                                           Easy Deployment
                                                                                           Automatic Scaling


                                                                                           Development Restrictions
                                                                                           JRE Class White List
                                                                                           Workarounds for Frameworks
                                                                                           No „naked“ Domains
                                                                                           No „write once run everywhere“
                                                                                           Quotas and Limits


                                                                                           Services
                                                                                           Push Queue
                                                                                           Pull Queue
                                                                                           URL Fetch
                                                                                           Accounts
                                                                                           Mail
                                                                                           Memcache
                                                                                           XMPP
                                                                                           Images
                                                                                           Datastore
                                                                                           Cloud Storage
                                                                                           Cloud SQL
www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Hint




                                                                     Google App Engine
                                                                     is a complex scenario for Apache
                                                                     Camel (and most other applications)
                                                                     due to its many restrictions!

                                                                     Other „more open“ PaaS solutions
                                                                     such as OpenShift or Heroku
                                                                     are easier to use and integrate...


www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Code Example - Google App Engine (Java API)

          public class GAEJCreateTaskServlet extends HttpServlet {
                 public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {

                 String strCallResult = "";
                 resp.setContentType("text/plain");
                 try {

                        String strEmailId = req.getParameter("emailid");

                        if (strEmailId == null) throw new Exception ("Email Id field cannot be empty.");

                        strEmailId = strEmailId.trim();
                        if (strEmailId.length() == 0) throw new Exception("Email Id field cannot be empty.");

                        Queue queue = QueueFactory.getQueue("subscription-queue");
                        queue.add(TaskOptions.Builder.url(“signupsubscriber“)
                             .param("emailid",strEmailId));

                        strCallResult = "Successfully created a Task in the Queue";
                        resp.getWriter().println(strCallResult);
                        }

                 catch (Exception ex) {
                       strCallResult = "Fail: " + ex.getMessage();
                       resp.getWriter().println(strCallResult);
          } }}


www.mwea.de        "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Code Example – Camel GAE Component




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Code Example – Camel GAE Component




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Live Demo




                                                              PaaS Integration in Action

www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Agenda



       1) Introduction to Cloud Computing


       2) Introduction to Apache Camel


       3) IaaS Integration (Amazon Web Services)


       4) PaaS Integration (Google App Engine)


       5) SaaS Integration (Salesforce)


       6) Custom Cloud Components



www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Cloud Computing

                                                              Infrastructure                   Platform        Software
                                 On Premise
      On Premise                                               as a Service                   as a Service    as a Service
                                   hosted
                                                                  (IaaS)                        (PaaS)           (SaaS)



         App                         App                           App                           App             App
          VM                         VM                            VM                             VM             VM
       Server                      Server                       Server                         Server          Server
      Storage                     Storage                      Storage                        Storage         Storage
      Network                    Network                       Network                        Network         Network




     Organisation                                                Control                                        Vendor
      has control                                               is shared                                     has control




www.mwea.de         "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Software as a Service (SaaS)




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
SaaS Concepts (Example: Salesforce)


                                                                             Software (CRM)
                                                                             Sales
                                                                             Service
                                                                             Social
                                                                             Data.com
                                                                             AppExchange
                                                                             ... more ...


                                                                             Development
                                                                             Online-Development
                                                                             (even the Compiler is in the Cloud!)
                                                                             Own Addons  Force.com (PaaS)
                 Apex                                                        Integration of Interfaces

              Visualforce
                 REST
                 SOAP
    Client APIs (Java, etc.)


www.mwea.de      "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Code Example – Salesforce (Java API)
                    ConnectorConfig config = new ConnectorConfig();
                       config.setUsername(userId);
                       config.setPassword(passwd);
                       config.setAuthEndpoint(authEndPoint);
                       connection = new EnterpriseConnection(config);

                         GetUserInfoResult userInfo = connection.getUserInfo();
                         System.out.println("User Full Name: " + userInfo.getUserFullName());

                              QueryResult qResult = null;

                              String soqlQuery = "SELECT FirstName, LastName FROM Contact"; // SOQL

                              qResult = connection.query(soqlQuery);
                              boolean done = false;
                              if (qResult.getSize() > 0) {
                                System.out.println("Logged-in user can see " +
                                     qResult.getRecords().length +
                                     " contact records."
                                  );
                                  while (! done) {
                                    SObject[] records = qResult.getRecords();
                                    for ( int i = 0; i < records.length; ++i ) {
                                     Contact con = (Contact) records[i];
                                     String fName = con.getFirstName();
                                     String lName = con.getLastName();
                                     // ... more stuff here ...

www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Code Example – Camel Salesforce Component




  // Producer
   from("direct:toSalesforce“)
   .to("salesforce://Article__c?user=u&password=p&item=myItem");



  // Consumer
   from("salesforce://Article__c?user=u&password=p")
   .to("mock:fromSalesforce");



www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Live Demo




                                                              SaaS Integration in Action

www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Agenda



       1) Introduction to Cloud Computing


       2) Introduction to Apache Camel


       3) IaaS Integration (Amazon Web Services)


       4) PaaS Integration (Google App Engine)


       5) SaaS Integration (Salesforce)


       6) Custom Cloud Components



www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Custom Cloud Components



                                                                                         Component



                                                                                                  Creates




                                                                                           Endpoint




                                                                    Consumer                                Producer




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Live Demo




                                Custom Cloud Component in Action
www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Alternative for Custom Cloud Components




                                                                                                        •  SOAP
                                                                                                        •  REST
www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Code Example – Salesforce REST (HTTP)


  // Salesforce Query (SOQL) via REST API
  from("direct:salesforceViaHttpLIST")
         .setHeader("X-PrettyPrint", 1)
         .setHeader("Authorization", accessToken)
         .setHeader(Exchange.CONTENT_TYPE, "application/json")
  .to("https://na14.salesforce.com/services/data/v20.0/query?q=SELECT+name+from
        +Article__c")



  // Salesforce CREATE via REST API
   from("direct:salesforceViaHttpCREATE")
         .setHeader("X-PrettyPrint", 1)
         .setHeader("Authorization", accessToken)
         .setHeader(Exchange.CONTENT_TYPE, "application/json“)
  .to("https://na14.salesforce.com/services/data/v20.0/sobjects/Article__c")



www.mwea.de      "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Live Demo




                                          Cloud Integration via REST in Action

www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Did you get the Key Message?




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Key Messages




   The Cloud already arrived, and must be integrated!
   Cloud Integration is already possible!
   Apache Camel helps a lot!


www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Did you get the Key Message?




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Whet your Appetite?




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Become a Part of the Open Source Community




www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
Thank you for your attention... Questions?




   Contact
              Kai Wähner                           MaibornWolff et al GmbH                    Mobile +49 151 544 277 88
              IT Consultant                        Theresienhöhe 13                           Email kontakt@kai-waehner.de
                                                   D-80339 München                            Twitter @KaiWaehner



www.mwea.de   "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012

More Related Content

What's hot

How to Get Cloud Architecture and Design Right the First Time
How to Get Cloud Architecture and Design Right the First TimeHow to Get Cloud Architecture and Design Right the First Time
How to Get Cloud Architecture and Design Right the First Time
David Linthicum
 
Oracle cloud strategy
Oracle cloud strategyOracle cloud strategy
Oracle cloud strategy
Agora Group
 
Oracle Cloud Computing Strategy (EMO)
Oracle Cloud Computing Strategy (EMO)Oracle Cloud Computing Strategy (EMO)
Oracle Cloud Computing Strategy (EMO)
rachgregs
 

What's hot (20)

How to Get Cloud Architecture and Design Right the First Time
How to Get Cloud Architecture and Design Right the First TimeHow to Get Cloud Architecture and Design Right the First Time
How to Get Cloud Architecture and Design Right the First Time
 
Cloud Azure Market Research and Service Offerings by RapidValue
Cloud Azure Market Research and Service Offerings by RapidValueCloud Azure Market Research and Service Offerings by RapidValue
Cloud Azure Market Research and Service Offerings by RapidValue
 
IBM Cloud Strategy
IBM Cloud StrategyIBM Cloud Strategy
IBM Cloud Strategy
 
Oracle cloud strategy
Oracle cloud strategyOracle cloud strategy
Oracle cloud strategy
 
Cloud Foundry Bootcamp
Cloud Foundry BootcampCloud Foundry Bootcamp
Cloud Foundry Bootcamp
 
Cloud Adoption: Benchmark, Trends & Best Practices
Cloud Adoption: Benchmark, Trends & Best Practices Cloud Adoption: Benchmark, Trends & Best Practices
Cloud Adoption: Benchmark, Trends & Best Practices
 
Building a Critical Communications Platform Using Serverless Technologies
Building a Critical Communications Platform Using Serverless TechnologiesBuilding a Critical Communications Platform Using Serverless Technologies
Building a Critical Communications Platform Using Serverless Technologies
 
Public clouds go mainstream - october 19 - 10m
Public clouds go mainstream - october 19 - 10mPublic clouds go mainstream - october 19 - 10m
Public clouds go mainstream - october 19 - 10m
 
Oracle Cloud Computing Strategy (EMO)
Oracle Cloud Computing Strategy (EMO)Oracle Cloud Computing Strategy (EMO)
Oracle Cloud Computing Strategy (EMO)
 
Transform Government IT with VMware Cloud on AWS - an Integrated Hybrid Solution
Transform Government IT with VMware Cloud on AWS - an Integrated Hybrid SolutionTransform Government IT with VMware Cloud on AWS - an Integrated Hybrid Solution
Transform Government IT with VMware Cloud on AWS - an Integrated Hybrid Solution
 
Cloud Migration: A How-To Guide
Cloud Migration: A How-To GuideCloud Migration: A How-To Guide
Cloud Migration: A How-To Guide
 
Developing Your Cloud Strategy
Developing Your Cloud StrategyDeveloping Your Cloud Strategy
Developing Your Cloud Strategy
 
AWS_DevOps
AWS_DevOpsAWS_DevOps
AWS_DevOps
 
Pragmatic Enterprise Application Migration to AWS
Pragmatic Enterprise Application Migration to AWSPragmatic Enterprise Application Migration to AWS
Pragmatic Enterprise Application Migration to AWS
 
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at SpeedFaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Redington Value Journal - July 2017
Redington Value Journal - July 2017Redington Value Journal - July 2017
Redington Value Journal - July 2017
 
OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17OracleDeveloperMeetup - London 19-12-17
OracleDeveloperMeetup - London 19-12-17
 
IBM Cloud UCC Talk, 8th December 2020 - Cloud Native, Microservices, and Serv...
IBM Cloud UCC Talk, 8th December 2020 - Cloud Native, Microservices, and Serv...IBM Cloud UCC Talk, 8th December 2020 - Cloud Native, Microservices, and Serv...
IBM Cloud UCC Talk, 8th December 2020 - Cloud Native, Microservices, and Serv...
 
Google App Engine for Business 101
Google App Engine for Business 101Google App Engine for Business 101
Google App Engine for Business 101
 

Viewers also liked

19027575 t6-unit-6-present-perfect
19027575 t6-unit-6-present-perfect19027575 t6-unit-6-present-perfect
19027575 t6-unit-6-present-perfect
sergiohuertatrujillo
 
September 12 (83MW)
September 12 (83MW)September 12 (83MW)
September 12 (83MW)
MelissaJLong
 
Unit 2 - Have you ever ridden a camel?
Unit 2 - Have you ever ridden a camel?Unit 2 - Have you ever ridden a camel?
Unit 2 - Have you ever ridden a camel?
Mardomale
 
Grammar (articles ) notes 1
Grammar (articles ) notes 1Grammar (articles ) notes 1
Grammar (articles ) notes 1
skmmnpk
 
Interchange 1 unit 10 present perfect
Interchange 1 unit 10 present perfectInterchange 1 unit 10 present perfect
Interchange 1 unit 10 present perfect
lizy0222
 
The Future of Broadband: Telemedia, Futurist Gerd Leonhard
The Future of Broadband: Telemedia, Futurist Gerd LeonhardThe Future of Broadband: Telemedia, Futurist Gerd Leonhard
The Future of Broadband: Telemedia, Futurist Gerd Leonhard
Gerd Leonhard
 
Interchange, Unit 10 presentation
Interchange, Unit 10 presentationInterchange, Unit 10 presentation
Interchange, Unit 10 presentation
Abdul Sahibzada
 
Chapter 2 Writing Correct Sentences
Chapter 2 Writing Correct SentencesChapter 2 Writing Correct Sentences
Chapter 2 Writing Correct Sentences
Maximoff
 

Viewers also liked (20)

Taking Apache Camel For A Ride
Taking Apache Camel For A RideTaking Apache Camel For A Ride
Taking Apache Camel For A Ride
 
Calendario 2013-1 Grupo 203 ICG
Calendario 2013-1 Grupo 203 ICGCalendario 2013-1 Grupo 203 ICG
Calendario 2013-1 Grupo 203 ICG
 
19027575 t6-unit-6-present-perfect
19027575 t6-unit-6-present-perfect19027575 t6-unit-6-present-perfect
19027575 t6-unit-6-present-perfect
 
September 12 (83MW)
September 12 (83MW)September 12 (83MW)
September 12 (83MW)
 
Unit 4 week 9
Unit 4 week 9Unit 4 week 9
Unit 4 week 9
 
Simple present tense Grade 3
Simple present tense Grade 3Simple present tense Grade 3
Simple present tense Grade 3
 
What have you don?
What have you don?What have you don?
What have you don?
 
Exam practice 7mo
Exam practice 7moExam practice 7mo
Exam practice 7mo
 
Unit 2 - Have you ever ridden a camel?
Unit 2 - Have you ever ridden a camel?Unit 2 - Have you ever ridden a camel?
Unit 2 - Have you ever ridden a camel?
 
Have you ever ridden a camel
Have you ever ridden a camelHave you ever ridden a camel
Have you ever ridden a camel
 
Chapter 2 writing correct sentences
Chapter 2   writing correct sentencesChapter 2   writing correct sentences
Chapter 2 writing correct sentences
 
Grammar (articles ) notes 1
Grammar (articles ) notes 1Grammar (articles ) notes 1
Grammar (articles ) notes 1
 
Subject-Verb Agreement Quiz
Subject-Verb Agreement QuizSubject-Verb Agreement Quiz
Subject-Verb Agreement Quiz
 
Interchange 1 unit 10 present perfect
Interchange 1 unit 10 present perfectInterchange 1 unit 10 present perfect
Interchange 1 unit 10 present perfect
 
The Future of Broadband: Telemedia, Futurist Gerd Leonhard
The Future of Broadband: Telemedia, Futurist Gerd LeonhardThe Future of Broadband: Telemedia, Futurist Gerd Leonhard
The Future of Broadband: Telemedia, Futurist Gerd Leonhard
 
02. BASIC 2 - UNIT 10
02. BASIC 2 - UNIT 1002. BASIC 2 - UNIT 10
02. BASIC 2 - UNIT 10
 
Interchange, Unit 10 presentation
Interchange, Unit 10 presentationInterchange, Unit 10 presentation
Interchange, Unit 10 presentation
 
Chapter 2 Writing Correct Sentences
Chapter 2 Writing Correct SentencesChapter 2 Writing Correct Sentences
Chapter 2 Writing Correct Sentences
 
02. INTERMEDIATE 2 - UNIT 10
02. INTERMEDIATE 2 - UNIT 1002. INTERMEDIATE 2 - UNIT 10
02. INTERMEDIATE 2 - UNIT 10
 
Vince, michael intermediate language practice
Vince, michael   intermediate language practiceVince, michael   intermediate language practice
Vince, michael intermediate language practice
 

Similar to Next Generation – Systems Integration in the Cloud Era with Apache Camel - JavaOne 2012

Systems Integration in the Cloud Era - API vs. Integration Framework vs. Ente...
Systems Integration in the Cloud Era - API vs. Integration Framework vs. Ente...Systems Integration in the Cloud Era - API vs. Integration Framework vs. Ente...
Systems Integration in the Cloud Era - API vs. Integration Framework vs. Ente...
Kai Wähner
 
Mon1420 build clouds-oliviermaes-citrix
Mon1420 build clouds-oliviermaes-citrixMon1420 build clouds-oliviermaes-citrix
Mon1420 build clouds-oliviermaes-citrix
eurocloud
 
NIC 2013 - Configure and Deploy Private Cloud
NIC 2013 - Configure and Deploy Private CloudNIC 2013 - Configure and Deploy Private Cloud
NIC 2013 - Configure and Deploy Private Cloud
Kristian Nese
 
Amazon web services,
Amazon web services,Amazon web services,
Amazon web services,
Chetan Goenka
 
Symantec VMworld 2011 News
Symantec VMworld 2011 NewsSymantec VMworld 2011 News
Symantec VMworld 2011 News
Symantec
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
SPEC INDIA
 

Similar to Next Generation – Systems Integration in the Cloud Era with Apache Camel - JavaOne 2012 (20)

Systems Integration in the Cloud Era - API vs. Integration Framework vs. Ente...
Systems Integration in the Cloud Era - API vs. Integration Framework vs. Ente...Systems Integration in the Cloud Era - API vs. Integration Framework vs. Ente...
Systems Integration in the Cloud Era - API vs. Integration Framework vs. Ente...
 
Systems Integration in the NoSQL Era with Apache Camel (Neo4j, CouchDB, AWS S...
Systems Integration in the NoSQL Era with Apache Camel (Neo4j, CouchDB, AWS S...Systems Integration in the NoSQL Era with Apache Camel (Neo4j, CouchDB, AWS S...
Systems Integration in the NoSQL Era with Apache Camel (Neo4j, CouchDB, AWS S...
 
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Jazoon 2012 - Systems Integration in the Cloud Era with Apache CamelJazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
 
Mon1420 build clouds-oliviermaes-citrix
Mon1420 build clouds-oliviermaes-citrixMon1420 build clouds-oliviermaes-citrix
Mon1420 build clouds-oliviermaes-citrix
 
NIC 2013 - Configure and Deploy Private Cloud
NIC 2013 - Configure and Deploy Private CloudNIC 2013 - Configure and Deploy Private Cloud
NIC 2013 - Configure and Deploy Private Cloud
 
BayThreat Why The Cloud Changes Everything
BayThreat Why The Cloud Changes EverythingBayThreat Why The Cloud Changes Everything
BayThreat Why The Cloud Changes Everything
 
Paving the Way to IT-as-a-Service
Paving the Way to IT-as-a-ServicePaving the Way to IT-as-a-Service
Paving the Way to IT-as-a-Service
 
V fabric overview
V fabric overviewV fabric overview
V fabric overview
 
Vincent Desveronnieres, Oracle
Vincent Desveronnieres,  OracleVincent Desveronnieres,  Oracle
Vincent Desveronnieres, Oracle
 
Amazon web services,
Amazon web services,Amazon web services,
Amazon web services,
 
JAVA를 활용한 클라우딩 환경 기반 PaaS
JAVA를 활용한 클라우딩 환경 기반 PaaSJAVA를 활용한 클라우딩 환경 기반 PaaS
JAVA를 활용한 클라우딩 환경 기반 PaaS
 
자바(Java)를 위한 클라우드 환경 기반 Paas
자바(Java)를 위한 클라우드 환경 기반 Paas자바(Java)를 위한 클라우드 환경 기반 Paas
자바(Java)를 위한 클라우드 환경 기반 Paas
 
MPLS 2010: Network Enabled Cloud and Service Models
MPLS 2010: Network Enabled Cloud and Service ModelsMPLS 2010: Network Enabled Cloud and Service Models
MPLS 2010: Network Enabled Cloud and Service Models
 
Migrating Enterprise Apps to the Cloud
Migrating Enterprise Apps to the CloudMigrating Enterprise Apps to the Cloud
Migrating Enterprise Apps to the Cloud
 
Deploying Enterprise Apps in the Cloud
Deploying Enterprise Apps in the CloudDeploying Enterprise Apps in the Cloud
Deploying Enterprise Apps in the Cloud
 
Symantec VMworld 2011 News
Symantec VMworld 2011 NewsSymantec VMworld 2011 News
Symantec VMworld 2011 News
 
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
 
Kaavo Introduction 08012011
Kaavo Introduction 08012011Kaavo Introduction 08012011
Kaavo Introduction 08012011
 
Windows Azure Overview
Windows Azure OverviewWindows Azure Overview
Windows Azure Overview
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 

More from Kai Wähner

Kappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology ComparisonKappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology Comparison
Kai Wähner
 
The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022
Kai Wähner
 

More from Kai Wähner (20)

Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
 
When NOT to use Apache Kafka?
When NOT to use Apache Kafka?When NOT to use Apache Kafka?
When NOT to use Apache Kafka?
 
Kafka for Live Commerce to Transform the Retail and Shopping Metaverse
Kafka for Live Commerce to Transform the Retail and Shopping MetaverseKafka for Live Commerce to Transform the Retail and Shopping Metaverse
Kafka for Live Commerce to Transform the Retail and Shopping Metaverse
 
The Heart of the Data Mesh Beats in Real-Time with Apache Kafka
The Heart of the Data Mesh Beats in Real-Time with Apache KafkaThe Heart of the Data Mesh Beats in Real-Time with Apache Kafka
The Heart of the Data Mesh Beats in Real-Time with Apache Kafka
 
Apache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
Apache Kafka vs. Cloud-native iPaaS Integration Platform MiddlewareApache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
Apache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
 
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
 
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Serverless Kafka and Spark in a Multi-Cloud Lakehouse ArchitectureServerless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
 
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
 
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Data Streaming with Apache Kafka in the Defence and Cybersecurity IndustryData Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
 
Apache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare IndustryApache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare Industry
 
Apache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare IndustryApache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare Industry
 
Apache Kafka for Real-time Supply Chain in the Food and Retail Industry
Apache Kafka for Real-time Supply Chainin the Food and Retail IndustryApache Kafka for Real-time Supply Chainin the Food and Retail Industry
Apache Kafka for Real-time Supply Chain in the Food and Retail Industry
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid Cloud
 
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
 
Apache Kafka Landscape for Automotive and Manufacturing
Apache Kafka Landscape for Automotive and ManufacturingApache Kafka Landscape for Automotive and Manufacturing
Apache Kafka Landscape for Automotive and Manufacturing
 
Kappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology ComparisonKappa vs Lambda Architectures and Technology Comparison
Kappa vs Lambda Architectures and Technology Comparison
 
The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022
 
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
Event Streaming CTO Roundtable for Cloud-native Kafka ArchitecturesEvent Streaming CTO Roundtable for Cloud-native Kafka Architectures
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
 
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
 
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Next Generation – Systems Integration in the Cloud Era with Apache Camel - JavaOne 2012

  • 1. Systems Integration in the Cloud Era www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 2. Kai Wähner Main Tasks Evaluation of Technologies and Products Requirements Engineering Enterprise Architecture Management Business Process Management Architecture and Development of Applications Planning and Introduction of SOA Integration of Legacy Applications Cloud Computing Big Data Consulting Developing Contact Speaking Email: kontakt@kai-waehner.de Coaching Blog: www.kai-waehner.de/blog Writing Twitter: @KaiWaehner Social Networks: Xing, LinkedIn www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 3. What is the Problem? Growth •  Applications •  Interfaces •  Technologies •  Products www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 4. A new Era: Cloud Computing www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 5. Solution: Systems Integration All Roads lead to Rome ... www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 6. Wishes •  Standardized Modeling •  Efficient Realization •  Automatic Testing www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 7. Systems Integration in the Cloud Era www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 8. What is the Key Message? www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 9. Key Messages The Cloud already arrived, and must be integrated! www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 10. Key Messages The Cloud already arrived, and must be integrated! Cloud Integration is already possible! www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 11. Key Messages The Cloud already arrived, and must be integrated! Cloud Integration is already possible! Apache Camel helps a lot! www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 12. Agenda 1) Introduction to Cloud Computing 2) Introduction to Apache Camel 3) IaaS Integration (Amazon Web Services) 4) PaaS Integration (Google App Engine) 5) SaaS Integration (Salesforce) 6) Custom Cloud Components www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 13. Agenda 1) Introduction to Cloud Computing 2) Introduction to Apache Camel 3) IaaS Integration (Amazon Web Services) 4) PaaS Integration (Google App Engine) 5) SaaS Integration (Salesforce) 6) Custom Cloud Components www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 14. Cloud Computing Infrastructure Platform Software On Premise On Premise as a Service as a Service as a Service hosted (IaaS) (PaaS) (SaaS) App App App App App VM VM VM VM VM Server Server Server Server Server Storage Storage Storage Storage Storage Network Network Network Network Network Organisation Control Vendor has control is shared has control www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 15. Every Vendor offers Cloud Products www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 16. Agenda 1) Introduction to Cloud Computing 2) Introduction to Apache Camel 3) IaaS Integration (Amazon Web Services) 4) PaaS Integration (Google App Engine) 5) SaaS Integration (Salesforce) 6) Custom Cloud Components www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 17. Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) API Framework Complexity of Integration Low High www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 18. Alternatives for Systems Integration Enterprise Service Bus Integration (ESB) API Framework Complexity of Integration Low High Apache Camel vs. Spring Integration vs. Mule http://www.kai-waehner.de/blog/2012/01/10/spoilt-for-choice-which-integration-framework-to-use-spring-integration-mule-esb-or-apache-camel/ www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 19. Enterprise Integration Patterns (EIP) Apache Camel Implements the EIPs www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 20. Enterprise Integration Patterns (EIP) www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 21. Enterprise Integration Patterns (EIP) www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 22. Architecture http://java.dzone.com/articles/apache-camel-integration www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 23. Choose your favorite DSL XML (not production-ready yet) www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 24. Choose your required Components TCP SQL SMTP JMS Netty Jetty RMI FTP Lucene JDBC EJB Bean-Validation MQ IRC JMX Quartz RSS AMQP Atom Log AWS-S3 HTTP XSLT LDAP File Akka Many many more CXF Custom Components www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 25. Deploy it wherever you need Standalone Application Server Web Container Spring Container OSGi Cloud www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 26. Enterprise-ready •  Open Source •  Scalability •  Error Handling •  Transaction •  Monitoring •  Tooling •  Commercial Support www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 27. Live Demo Apache Camel in Action www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 28. Agenda 1) Introduction to Cloud Computing 2) Introduction to Apache Camel 3) IaaS Integration (Amazon Web Services) 4) PaaS Integration (Google App Engine) 5) SaaS Integration (Salesforce) 6) Custom Cloud Components www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 29. Cloud Computing Infrastructure Platform Software On Premise On Premise as a Service as a Service as a Service hosted (IaaS) (PaaS) (SaaS) App App App App App VM VM VM VM VM Server Server Server Server Server Storage Storage Storage Storage Storage Network Network Network Network Network Organisation Control Vendor has control is shared has control www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 30. Infrastructure as a Service (IaaS) www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 31. IaaS Concepts (Example: AWS) Compute Amazon Elastic Compute Cloud (EC2) Amazon Elastic MapReduce (EMR) Storage Amazon Simple Storage Service (S3) Amazon Elastic Block Store (EBS) SimpleDB (SDB) Database Amazon Relational Database Service (RDS) Amazon DynamoDB (DDB) Amazon ElastiCache Application Services Amazon Simple Workflow Service (SWF) Amazon Simple Queue Service (SQS) Amazon Simple Notification Service (SNS) Amazon Simple Email Service (SES) Many more ... www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 32. Code Example - AWS S3 (Java API) AmazonS3 s3 = new AmazonS3Client(new PropertiesCredentials( S3Sample.class.getResourceAsStream("AwsCredentials.properties"))); String bucketName = "my-first-s3-bucket-" + UUID.randomUUID(); String key = "MyObjectKey"; try { s3.createBucket(bucketName); s3.putObject(new PutObjectRequest(bucketName, key, createSampleFile())); S3Object object = s3.getObject(new GetObjectRequest(bucketName, key)); ObjectListing objectListing = s3.listObjects(new ListObjectsRequest() .withBucketName(bucketName) .withPrefix("My")); s3.deleteObject(bucketName, key); s3.deleteBucket(bucketName); } catch (AmazonServiceException ase) { // error handling... } catch (AmazonClientException ace) { // error handling... } www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 33. Code Example - Camel AWS Component // Producer from("direct:startToS3") .setHeader(S3Constants.KEY, simple(“order.txt")) .to("aws-s3://myBucket?accessKey=" + a + "&secretKey= " + s) // Consumer from("aws-s3://myBucket?accessKey=“ + a + "&secretKey=" + s) .to("log:S3logging") www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 34. Live Demo IaaS Integration in Action www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 35. Agenda 1) Introduction to Cloud Computing 2) Introduction to Apache Camel 3) IaaS Integration (Amazon Web Services) 4) PaaS Integration (Google App Engine) 5) SaaS Integration (Salesforce) 6) Custom Cloud Components www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 36. Cloud Computing Infrastructure Platform Software On Premise On Premise as a Service as a Service as a Service hosted (IaaS) (PaaS) (SaaS) App App App App App VM VM VM VM VM Server Server Server Server Server Storage Storage Storage Storage Storage Network Network Network Network Network Organisation Control Vendor has control is shared has control www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 37. Platform as a Service (PaaS) Elastic Beanstalk www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 38. PaaS Conepts (Example: GAE) Application Deployment Easy Deployment Automatic Scaling Development Restrictions JRE Class White List Workarounds for Frameworks No „naked“ Domains No „write once run everywhere“ Quotas and Limits Services Push Queue Pull Queue URL Fetch Accounts Mail Memcache XMPP Images Datastore Cloud Storage Cloud SQL www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 39. Hint Google App Engine is a complex scenario for Apache Camel (and most other applications) due to its many restrictions! Other „more open“ PaaS solutions such as OpenShift or Heroku are easier to use and integrate... www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 40. Code Example - Google App Engine (Java API) public class GAEJCreateTaskServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { String strCallResult = ""; resp.setContentType("text/plain"); try { String strEmailId = req.getParameter("emailid"); if (strEmailId == null) throw new Exception ("Email Id field cannot be empty."); strEmailId = strEmailId.trim(); if (strEmailId.length() == 0) throw new Exception("Email Id field cannot be empty."); Queue queue = QueueFactory.getQueue("subscription-queue"); queue.add(TaskOptions.Builder.url(“signupsubscriber“) .param("emailid",strEmailId)); strCallResult = "Successfully created a Task in the Queue"; resp.getWriter().println(strCallResult); } catch (Exception ex) { strCallResult = "Fail: " + ex.getMessage(); resp.getWriter().println(strCallResult); } }} www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 41. Code Example – Camel GAE Component www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 42. Code Example – Camel GAE Component www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 43. Live Demo PaaS Integration in Action www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 44. Agenda 1) Introduction to Cloud Computing 2) Introduction to Apache Camel 3) IaaS Integration (Amazon Web Services) 4) PaaS Integration (Google App Engine) 5) SaaS Integration (Salesforce) 6) Custom Cloud Components www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 45. Cloud Computing Infrastructure Platform Software On Premise On Premise as a Service as a Service as a Service hosted (IaaS) (PaaS) (SaaS) App App App App App VM VM VM VM VM Server Server Server Server Server Storage Storage Storage Storage Storage Network Network Network Network Network Organisation Control Vendor has control is shared has control www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 46. Software as a Service (SaaS) www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 47. SaaS Concepts (Example: Salesforce) Software (CRM) Sales Service Social Data.com AppExchange ... more ... Development Online-Development (even the Compiler is in the Cloud!) Own Addons  Force.com (PaaS) Apex Integration of Interfaces Visualforce REST SOAP Client APIs (Java, etc.) www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 48. Code Example – Salesforce (Java API) ConnectorConfig config = new ConnectorConfig(); config.setUsername(userId); config.setPassword(passwd); config.setAuthEndpoint(authEndPoint); connection = new EnterpriseConnection(config); GetUserInfoResult userInfo = connection.getUserInfo(); System.out.println("User Full Name: " + userInfo.getUserFullName()); QueryResult qResult = null; String soqlQuery = "SELECT FirstName, LastName FROM Contact"; // SOQL qResult = connection.query(soqlQuery); boolean done = false; if (qResult.getSize() > 0) { System.out.println("Logged-in user can see " + qResult.getRecords().length + " contact records." ); while (! done) { SObject[] records = qResult.getRecords(); for ( int i = 0; i < records.length; ++i ) { Contact con = (Contact) records[i]; String fName = con.getFirstName(); String lName = con.getLastName(); // ... more stuff here ... www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 49. Code Example – Camel Salesforce Component // Producer from("direct:toSalesforce“) .to("salesforce://Article__c?user=u&password=p&item=myItem"); // Consumer from("salesforce://Article__c?user=u&password=p") .to("mock:fromSalesforce"); www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 50. Live Demo SaaS Integration in Action www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 51. Agenda 1) Introduction to Cloud Computing 2) Introduction to Apache Camel 3) IaaS Integration (Amazon Web Services) 4) PaaS Integration (Google App Engine) 5) SaaS Integration (Salesforce) 6) Custom Cloud Components www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 52. Custom Cloud Components Component Creates Endpoint Consumer Producer www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 53. Live Demo Custom Cloud Component in Action www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 54. Alternative for Custom Cloud Components •  SOAP •  REST www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 55. Code Example – Salesforce REST (HTTP) // Salesforce Query (SOQL) via REST API from("direct:salesforceViaHttpLIST") .setHeader("X-PrettyPrint", 1) .setHeader("Authorization", accessToken) .setHeader(Exchange.CONTENT_TYPE, "application/json") .to("https://na14.salesforce.com/services/data/v20.0/query?q=SELECT+name+from +Article__c") // Salesforce CREATE via REST API from("direct:salesforceViaHttpCREATE") .setHeader("X-PrettyPrint", 1) .setHeader("Authorization", accessToken) .setHeader(Exchange.CONTENT_TYPE, "application/json“) .to("https://na14.salesforce.com/services/data/v20.0/sobjects/Article__c") www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 56. Live Demo Cloud Integration via REST in Action www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 57. Did you get the Key Message? www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 58. Key Messages The Cloud already arrived, and must be integrated! Cloud Integration is already possible! Apache Camel helps a lot! www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 59. Did you get the Key Message? www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 60. Whet your Appetite? www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 61. Become a Part of the Open Source Community www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012
  • 62. Thank you for your attention... Questions? Contact Kai Wähner MaibornWolff et al GmbH Mobile +49 151 544 277 88 IT Consultant Theresienhöhe 13 Email kontakt@kai-waehner.de D-80339 München Twitter @KaiWaehner www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012