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

PDF
CamelOne 2012 - BPM beyond Web Services
PDF
Systems Integration in the Cloud Era with Apache Camel @ ApacheCon Europe 2012
PDF
Scandev / SDC2013 - Spoilt for Choice: Which Integration Framework to use – A...
PPTX
Microsoft private cloud
PDF
2012 05 confess_camel_cloud_integration
PDF
IBM WebSphere Application Foundation Sessions at IBM InterConnect 2015
PDF
The simplest cloud migration in the world by Webscale
PDF
Next Generation Cloud Adoption - Beyond just cheaper & faster – transformati...
CamelOne 2012 - BPM beyond Web Services
Systems Integration in the Cloud Era with Apache Camel @ ApacheCon Europe 2012
Scandev / SDC2013 - Spoilt for Choice: Which Integration Framework to use – A...
Microsoft private cloud
2012 05 confess_camel_cloud_integration
IBM WebSphere Application Foundation Sessions at IBM InterConnect 2015
The simplest cloud migration in the world by Webscale
Next Generation Cloud Adoption - Beyond just cheaper & faster – transformati...

What's hot (17)

PPT
How to Get Cloud Architecture and Design Right the First Time
PDF
Cloud Azure Market Research and Service Offerings by RapidValue
PDF
IBM Cloud Strategy
PDF
Oracle cloud strategy
PDF
Cloud Foundry Bootcamp
PPTX
Cloud Adoption: Benchmark, Trends & Best Practices
KEY
Public clouds go mainstream - october 19 - 10m
PPT
Oracle Cloud Computing Strategy (EMO)
PDF
Developing Your Cloud Strategy
PDF
AWS_DevOps
PDF
Pragmatic Enterprise Application Migration to AWS
PDF
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
PDF
Redington Value Journal - July 2017
PPTX
OracleDeveloperMeetup - London 19-12-17
PPT
IBM Cloud UCC Talk, 8th December 2020 - Cloud Native, Microservices, and Serv...
PDF
Google App Engine for Business 101
PDF
Dockercon State of the Art in Microservices
How to Get Cloud Architecture and Design Right the First Time
Cloud Azure Market Research and Service Offerings by RapidValue
IBM Cloud Strategy
Oracle cloud strategy
Cloud Foundry Bootcamp
Cloud Adoption: Benchmark, Trends & Best Practices
Public clouds go mainstream - october 19 - 10m
Oracle Cloud Computing Strategy (EMO)
Developing Your Cloud Strategy
AWS_DevOps
Pragmatic Enterprise Application Migration to AWS
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
Redington Value Journal - July 2017
OracleDeveloperMeetup - London 19-12-17
IBM Cloud UCC Talk, 8th December 2020 - Cloud Native, Microservices, and Serv...
Google App Engine for Business 101
Dockercon State of the Art in Microservices
Ad

Viewers also liked (20)

PDF
Taking Apache Camel For A Ride
DOC
Calendario 2013-1 Grupo 203 ICG
PPT
19027575 t6-unit-6-present-perfect
PPTX
September 12 (83MW)
PPTX
Unit 4 week 9
PPTX
Simple present tense Grade 3
PPT
What have you don?
PDF
Exam practice 7mo
PPT
Unit 2 - Have you ever ridden a camel?
PPT
Have you ever ridden a camel
DOCX
Chapter 2 writing correct sentences
PPT
Grammar (articles ) notes 1
DOCX
Subject-Verb Agreement Quiz
PPTX
Interchange 1 unit 10 present perfect
PDF
The Future of Broadband: Telemedia, Futurist Gerd Leonhard
PPTX
02. BASIC 2 - UNIT 10
PPSX
Interchange, Unit 10 presentation
PPTX
Chapter 2 Writing Correct Sentences
PPTX
02. INTERMEDIATE 2 - UNIT 10
PDF
Vince, michael intermediate language practice
Taking Apache Camel For A Ride
Calendario 2013-1 Grupo 203 ICG
19027575 t6-unit-6-present-perfect
September 12 (83MW)
Unit 4 week 9
Simple present tense Grade 3
What have you don?
Exam practice 7mo
Unit 2 - Have you ever ridden a camel?
Have you ever ridden a camel
Chapter 2 writing correct sentences
Grammar (articles ) notes 1
Subject-Verb Agreement Quiz
Interchange 1 unit 10 present perfect
The Future of Broadband: Telemedia, Futurist Gerd Leonhard
02. BASIC 2 - UNIT 10
Interchange, Unit 10 presentation
Chapter 2 Writing Correct Sentences
02. INTERMEDIATE 2 - UNIT 10
Vince, michael intermediate language practice
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...
PDF
Systems Integration in the NoSQL Era with Apache Camel (Neo4j, CouchDB, AWS S...
PDF
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
PDF
Mon1420 build clouds-oliviermaes-citrix
PPTX
NIC 2013 - Configure and Deploy Private Cloud
PPTX
BayThreat Why The Cloud Changes Everything
PDF
Paving the Way to IT-as-a-Service
PDF
V fabric overview
PDF
Vincent Desveronnieres, Oracle
PPTX
Amazon web services,
PDF
자바(Java)를 위한 클라우드 환경 기반 Paas
PDF
JAVA를 활용한 클라우딩 환경 기반 PaaS
PDF
MPLS 2010: Network Enabled Cloud and Service Models
PDF
Deploying Enterprise Apps in the Cloud
PDF
Migrating Enterprise Apps to the Cloud
PDF
Symantec VMworld 2011 News
PDF
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
PDF
Kaavo Introduction 08012011
PDF
Windows Azure Overview
PPTX
SPEC INDIA Java Case Study
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...
Jazoon 2012 - Systems Integration in the Cloud Era with Apache Camel
Mon1420 build clouds-oliviermaes-citrix
NIC 2013 - Configure and Deploy Private Cloud
BayThreat Why The Cloud Changes Everything
Paving the Way to IT-as-a-Service
V fabric overview
Vincent Desveronnieres, Oracle
Amazon web services,
자바(Java)를 위한 클라우드 환경 기반 Paas
JAVA를 활용한 클라우딩 환경 기반 PaaS
MPLS 2010: Network Enabled Cloud and Service Models
Deploying Enterprise Apps in the Cloud
Migrating Enterprise Apps to the Cloud
Symantec VMworld 2011 News
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
Kaavo Introduction 08012011
Windows Azure Overview
SPEC INDIA Java Case Study

More from Kai Wähner (20)

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

Recently uploaded (20)

PPTX
sap open course for s4hana steps from ECC to s4
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Cloud computing and distributed systems.
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Empathic Computing: Creating Shared Understanding
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Machine learning based COVID-19 study performance prediction
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Spectroscopy.pptx food analysis technology
PDF
cuic standard and advanced reporting.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
sap open course for s4hana steps from ECC to s4
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Cloud computing and distributed systems.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Unlocking AI with Model Context Protocol (MCP)
Empathic Computing: Creating Shared Understanding
Spectral efficient network and resource selection model in 5G networks
Machine learning based COVID-19 study performance prediction
Encapsulation_ Review paper, used for researhc scholars
The Rise and Fall of 3GPP – Time for a Sabbatical?
Advanced methodologies resolving dimensionality complications for autism neur...
Programs and apps: productivity, graphics, security and other tools
A comparative analysis of optical character recognition models for extracting...
Assigned Numbers - 2025 - Bluetooth® Document
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectroscopy.pptx food analysis technology
cuic standard and advanced reporting.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf

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