SlideShare a Scribd company logo
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 (17)

PPT
How to Get Cloud Architecture and Design Right the First Time
David Linthicum
 
PDF
Cloud Azure Market Research and Service Offerings by RapidValue
RapidValue
 
PDF
IBM Cloud Strategy
cloudcampnigeria
 
PDF
Oracle cloud strategy
Agora Group
 
PDF
Cloud Foundry Bootcamp
Andy Piper
 
PPTX
Cloud Adoption: Benchmark, Trends & Best Practices
Jenna Starmer
 
KEY
Public clouds go mainstream - october 19 - 10m
Alistair Croll
 
PPT
Oracle Cloud Computing Strategy (EMO)
rachgregs
 
PDF
Developing Your Cloud Strategy
Internap
 
PDF
AWS_DevOps
David Chapman
 
PDF
Pragmatic Enterprise Application Migration to AWS
Kacy Clarke
 
PDF
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
Chris Bailey
 
PDF
Redington Value Journal - July 2017
Redington Value Distribution
 
PPTX
OracleDeveloperMeetup - London 19-12-17
Phil Wilkins
 
PPT
IBM Cloud UCC Talk, 8th December 2020 - Cloud Native, Microservices, and Serv...
Michael O'Sullivan
 
PDF
Google App Engine for Business 101
Chris Schalk
 
PDF
Dockercon State of the Art in Microservices
Adrian Cockcroft
 
How to Get Cloud Architecture and Design Right the First Time
David Linthicum
 
Cloud Azure Market Research and Service Offerings by RapidValue
RapidValue
 
IBM Cloud Strategy
cloudcampnigeria
 
Oracle cloud strategy
Agora Group
 
Cloud Foundry Bootcamp
Andy Piper
 
Cloud Adoption: Benchmark, Trends & Best Practices
Jenna Starmer
 
Public clouds go mainstream - october 19 - 10m
Alistair Croll
 
Oracle Cloud Computing Strategy (EMO)
rachgregs
 
Developing Your Cloud Strategy
Internap
 
AWS_DevOps
David Chapman
 
Pragmatic Enterprise Application Migration to AWS
Kacy Clarke
 
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
Chris Bailey
 
Redington Value Journal - July 2017
Redington Value Distribution
 
OracleDeveloperMeetup - London 19-12-17
Phil Wilkins
 
IBM Cloud UCC Talk, 8th December 2020 - Cloud Native, Microservices, and Serv...
Michael O'Sullivan
 
Google App Engine for Business 101
Chris Schalk
 
Dockercon State of the Art in Microservices
Adrian Cockcroft
 

Viewers also liked (20)

PDF
Taking Apache Camel For A Ride
Bruce Snyder
 
DOC
Calendario 2013-1 Grupo 203 ICG
Beatriz Vera
 
PPT
19027575 t6-unit-6-present-perfect
sergiohuertatrujillo
 
PPTX
September 12 (83MW)
MelissaJLong
 
PPTX
Unit 4 week 9
lindamun
 
PPTX
Simple present tense Grade 3
Eizzihk Eam
 
PPT
What have you don?
coordinaciondeingles
 
PDF
Exam practice 7mo
cristian fontanez
 
PPT
Unit 2 - Have you ever ridden a camel?
Mardomale
 
PPT
Have you ever ridden a camel
Jimena Chandía Cabas
 
DOCX
Chapter 2 writing correct sentences
Maximoff
 
PPT
Grammar (articles ) notes 1
skmmnpk
 
DOCX
Subject-Verb Agreement Quiz
Ming-Ming Bunsoy, MALED
 
PPTX
Interchange 1 unit 10 present perfect
lizy0222
 
PDF
The Future of Broadband: Telemedia, Futurist Gerd Leonhard
Gerd Leonhard
 
PPTX
02. BASIC 2 - UNIT 10
Miss Paulina (Paulina Rodríguez)
 
PPSX
Interchange, Unit 10 presentation
Abdul Sahibzada
 
PPTX
Chapter 2 Writing Correct Sentences
Maximoff
 
PPTX
02. INTERMEDIATE 2 - UNIT 10
Miss Paulina (Paulina Rodríguez)
 
PDF
Vince, michael intermediate language practice
Telma Ventura
 
Taking Apache Camel For A Ride
Bruce Snyder
 
Calendario 2013-1 Grupo 203 ICG
Beatriz Vera
 
19027575 t6-unit-6-present-perfect
sergiohuertatrujillo
 
September 12 (83MW)
MelissaJLong
 
Unit 4 week 9
lindamun
 
Simple present tense Grade 3
Eizzihk Eam
 
What have you don?
coordinaciondeingles
 
Exam practice 7mo
cristian fontanez
 
Unit 2 - Have you ever ridden a camel?
Mardomale
 
Have you ever ridden a camel
Jimena Chandía Cabas
 
Chapter 2 writing correct sentences
Maximoff
 
Grammar (articles ) notes 1
skmmnpk
 
Subject-Verb Agreement Quiz
Ming-Ming Bunsoy, MALED
 
Interchange 1 unit 10 present perfect
lizy0222
 
The Future of Broadband: Telemedia, Futurist Gerd Leonhard
Gerd Leonhard
 
02. BASIC 2 - UNIT 10
Miss Paulina (Paulina Rodríguez)
 
Interchange, Unit 10 presentation
Abdul Sahibzada
 
Chapter 2 Writing Correct Sentences
Maximoff
 
02. INTERMEDIATE 2 - UNIT 10
Miss Paulina (Paulina Rodríguez)
 
Vince, michael intermediate language practice
Telma Ventura
 
Ad

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

PDF
Systems Integration in the Cloud Era - API vs. Integration Framework vs. Ente...
Kai Wähner
 
PDF
Systems Integration in the NoSQL Era with Apache Camel (Neo4j, CouchDB, AWS S...
Kai Wähner
 
PDF
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Kai Wähner
 
PDF
Mon1420 build clouds-oliviermaes-citrix
eurocloud
 
PPTX
NIC 2013 - Configure and Deploy Private Cloud
Kristian Nese
 
PPTX
BayThreat Why The Cloud Changes Everything
CloudPassage
 
PDF
Paving the Way to IT-as-a-Service
buildacloud
 
PDF
V fabric overview
Pronam Chatterjee
 
PDF
Vincent Desveronnieres, Oracle
Ewa Stepien
 
PPTX
Amazon web services,
Chetan Goenka
 
PDF
자바(Java)를 위한 클라우드 환경 기반 Paas
mosaicnet
 
PDF
JAVA를 활용한 클라우딩 환경 기반 PaaS
mosaicnet
 
PDF
MPLS 2010: Network Enabled Cloud and Service Models
Cisco Service Provider
 
PDF
Deploying Enterprise Apps in the Cloud
SDForum Cloud Services SIG
 
PDF
Migrating Enterprise Apps to the Cloud
SVDevOps
 
PDF
Symantec VMworld 2011 News
Symantec
 
PDF
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
Arun Gupta
 
PDF
Kaavo Introduction 08012011
sams2618
 
PDF
Windows Azure Overview
Stefano Paluello
 
PPTX
SPEC INDIA Java Case Study
SPEC INDIA
 
Systems Integration in the Cloud Era - API vs. Integration Framework vs. Ente...
Kai Wähner
 
Systems Integration in the NoSQL Era with Apache Camel (Neo4j, CouchDB, AWS S...
Kai Wähner
 
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Kai Wähner
 
Mon1420 build clouds-oliviermaes-citrix
eurocloud
 
NIC 2013 - Configure and Deploy Private Cloud
Kristian Nese
 
BayThreat Why The Cloud Changes Everything
CloudPassage
 
Paving the Way to IT-as-a-Service
buildacloud
 
V fabric overview
Pronam Chatterjee
 
Vincent Desveronnieres, Oracle
Ewa Stepien
 
Amazon web services,
Chetan Goenka
 
자바(Java)를 위한 클라우드 환경 기반 Paas
mosaicnet
 
JAVA를 활용한 클라우딩 환경 기반 PaaS
mosaicnet
 
MPLS 2010: Network Enabled Cloud and Service Models
Cisco Service Provider
 
Deploying Enterprise Apps in the Cloud
SDForum Cloud Services SIG
 
Migrating Enterprise Apps to the Cloud
SVDevOps
 
Symantec VMworld 2011 News
Symantec
 
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
Arun Gupta
 
Kaavo Introduction 08012011
sams2618
 
Windows Azure Overview
Stefano Paluello
 
SPEC INDIA Java Case Study
SPEC INDIA
 
Ad

More from Kai Wähner (20)

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

Recently uploaded (20)

PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 

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: [email protected] 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 [email protected] D-80339 München Twitter @KaiWaehner www.mwea.de "Systems Integration in the Cloud Era with Apache Camel" by Kai Wähner --- JavaOne 2012