SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
Webservice API
Webportale mit Force.com verbinden. PHP 5,
Symfony 2 & SOAP.

Johannes Heinen, code mitte GmbH
Über mich
●   Webentwickler bei code mitte
    ○   PHP, Javascript
    ○   Apex & Visualforce


●   Jahrelange Erfahrung in Konzeption, Design &
    Implementierung von Websites, -Portalen, -Shops,
    -Katalogen, -Applikationen, -[...]

●   Seit einskommafünf Jahren in der Salesforce-Cloud
Force.com Platform
●   The good, ...
     ○   Cloudbasiert: "No Software"
         (in the meaning of "to install")
     ○   Ein unkomplizierter Stack für "alles"
         (Ausgabe, Geschäftslogik, Persistenz)
     ○   Sofort einsatzbereit (theoretisch)

●   ... the bad, ...
     ○   Layout/GUI components, "Rahmenwerk"
     ○   "Intranet" vs. "Internet", CRM Platform
         vs. Website
     ○   Erst wachsende Erfahrung mit "großen"
         Projekten (Test-Fixtures, Deployment <3)   Photo: salesforce.com
     ○   "No Software"?
... the ugly




               Abbildung: Cal Evans [https://secure.flickr.com/photos/calevans]
PHP
● Bewährte, stabile       ● Software! (und HW)
  Entwicklungsplattform   ● (Fast) keine
● Wartungsarm               Standardisierung => SPL
● Kostengünstig             vs. JSR
● Geringe                 ● (Fast) Keine
  Entwicklungszeiten        Interfaces/Contracts =>
● Verfügbare Experten,      Funktionen() vs. API
  verfügbares             ● Vorsicht vor dem
  Expertenwissen            Spaghetticode!
● Community               ● Nicht "Enterprise"
● "Agil"                    genug?
PHP vs. Apex/VF
●   Keine Einschränkungen durch standardisierte GUI-
    Components oder das "Salesforce-Layout"

●   Beliebige Ausgabe
    ○   HTML(5), JSON, XML
    ○   PDF
    ○   JPEG, PNG, GIF
    ○   Flash
    ○   Video


●   Nahezu jedes Design kann umgesetzt, jedes Frontend
    "bedient" werden
Symfony 2
 ●   "Web application framework"
      ○   lose gekoppelt, komponentenbasiert
      ○   stabil, testabgedeckt
      ○   große Community
      ○   international be- und anerkannt
      ○   implementiert viele Standards und best practices anderer
          Sprachen und Frameworks
 ●   "State-Of-The-Art"
      ○   PHP 5.3.x
 ● Reduziert oder verbirgt PHP-Nachteile und
   Stolpersteine
Macht die strukturierte, wartbare und effiziente
Entwicklung großer Softwareprojekte auf der PHP-
Plattform möglich (bzw. reduziert gelegentlich dabei auftretende Schmerzen auf ein Minimum)
PHP & Force.com
●   Force.com-Toolkit für PHP (5.3)
    ○   via PHP:SOAP
         ■   Webservice API Partner/Enterprise
         ■   Custom Webservices


●   Das "M" in MVC
    ○   SOQL-Queries: query(), queryMore(), retrieve(), ...
    ○   DML-Statements
         ■   create(), update(), upsert()
         ■   Prepared Statements!
Symfony 2 & Force.com
Mittels zur Laufzeit zugänglichen Metainformationen
("Reflection")
 ● describeLayout()
 ● describeSobject()

können Symfony-Formtypes und Validatoren generiert
werden, zum Beispiel
 ● (HTML 5) Formtypes
    ○   Date, Datetime, (dependent) Picklist, Email, Phone, Required
        fields, minlength, maxlength-Attributes, etc.
●   Validators
    ○   "Contains-Validator" (Picklist)
    ○   Complex (Custom)-Validator (Address Validation, Serialnumber
        validity check)
Symfony 2 & Force.com (2)
Vorteile:
● I18n auf der Plattform (Field-Labels)
● Minimaler Pflegeaufwand, bspw. bei Picklist-Values
● "Rapid" form development
● Absolute Flexibilität bei der Weiterverarbeitung der
  gesammelten und validierten POST-Daten.
● Einfaches, automatisiertes Rendern ganzer Formulare
  auf Basis von describeLayout()-Rastern (foreach row in
  rows, foreach col in row, [...])

Nachteilig ist ein gewisser overhead an SOAP-Calls und
Metadaten-Aggregierung.
  => Caching
Symfony 2 & Force.com (3)
Wiederverwendbares Symfony-Modul
 ("CodemitteForceBundle")
● Form-Extensions (type "sfdc_field")
    ○   Ein Form-Type für "alles"
●   Twig-Template-Extensions
    ○   Form-Helptexts
    ○   Form-labels werden auf der Force.com Plattform übersetzt, no
        need 4 I18n
    ○   Form-Templates (für bspw. Dependent-Picklists oder Phone-
        Type)
●   Validation-Extension
    ○   Still under heavy development
●   Pagelayout2Form-Renderer
    ○   Still under heavy development
Und nun ...
... ein kurzer Blick auf das neue,
Force.com & PHP-getriebene Portal




         appletini.com




                                     Photo: Sherry Elliott
Danke für die Aufmerksamkeit.

Mais conteúdo relacionado

Semelhante a Webservice API - Webportale mit Force.com verbinden

Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Mayflower GmbH
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-CodequalitätFotiosKaramitsos
 
B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009Andreas Schulte
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & ToolsUlrich Krause
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computingWolfgang Weigend
 
SPHERE.IO eCommerce as API platform - Nikolaus Kühn @ eCommerceCamp Jena 2015
SPHERE.IO eCommerce as API platform - Nikolaus Kühn @ eCommerceCamp Jena 2015SPHERE.IO eCommerce as API platform - Nikolaus Kühn @ eCommerceCamp Jena 2015
SPHERE.IO eCommerce as API platform - Nikolaus Kühn @ eCommerceCamp Jena 2015commercetools developers
 
Progressive Web Apps mit Angular
Progressive Web Apps mit AngularProgressive Web Apps mit Angular
Progressive Web Apps mit AngularJens Binfet
 
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzKai Donato
 
Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1DNUG e.V.
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Jürg Stuker
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Niels de Bruijn
 
Abläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenAbläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenChristian Münch
 
Python in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtPython in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtAndreas Schreiber
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 PerformanceUlrich Krause
 

Semelhante a Webservice API - Webportale mit Force.com verbinden (20)

Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
 
B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009B1 Acocon Lotus Day 08.09.2009
B1 Acocon Lotus Day 08.09.2009
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
PHP5 und Oracle
PHP5 und OraclePHP5 und Oracle
PHP5 und Oracle
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
 
SPHERE.IO eCommerce as API platform - Nikolaus Kühn @ eCommerceCamp Jena 2015
SPHERE.IO eCommerce as API platform - Nikolaus Kühn @ eCommerceCamp Jena 2015SPHERE.IO eCommerce as API platform - Nikolaus Kühn @ eCommerceCamp Jena 2015
SPHERE.IO eCommerce as API platform - Nikolaus Kühn @ eCommerceCamp Jena 2015
 
Progressive Web Apps mit Angular
Progressive Web Apps mit AngularProgressive Web Apps mit Angular
Progressive Web Apps mit Angular
 
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
 
APEX 5.0, und sonst?
APEX 5.0, und sonst?APEX 5.0, und sonst?
APEX 5.0, und sonst?
 
Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1
 
Top 10 Internet Trends 2001
Top 10 Internet Trends 2001Top 10 Internet Trends 2001
Top 10 Internet Trends 2001
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
XPages - The Basics
XPages - The BasicsXPages - The Basics
XPages - The Basics
 
Abläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisierenAbläufe mit PHP und Phing automatisieren
Abläufe mit PHP und Phing automatisieren
 
Python in der Luft- und Raumfahrt
Python in der Luft- und RaumfahrtPython in der Luft- und Raumfahrt
Python in der Luft- und Raumfahrt
 
AdminCamp 2011 Performance
AdminCamp 2011 PerformanceAdminCamp 2011 Performance
AdminCamp 2011 Performance
 
Hsps2014
Hsps2014Hsps2014
Hsps2014
 

Webservice API - Webportale mit Force.com verbinden

  • 1. Webservice API Webportale mit Force.com verbinden. PHP 5, Symfony 2 & SOAP. Johannes Heinen, code mitte GmbH
  • 2. Über mich ● Webentwickler bei code mitte ○ PHP, Javascript ○ Apex & Visualforce ● Jahrelange Erfahrung in Konzeption, Design & Implementierung von Websites, -Portalen, -Shops, -Katalogen, -Applikationen, -[...] ● Seit einskommafünf Jahren in der Salesforce-Cloud
  • 3. Force.com Platform ● The good, ... ○ Cloudbasiert: "No Software" (in the meaning of "to install") ○ Ein unkomplizierter Stack für "alles" (Ausgabe, Geschäftslogik, Persistenz) ○ Sofort einsatzbereit (theoretisch) ● ... the bad, ... ○ Layout/GUI components, "Rahmenwerk" ○ "Intranet" vs. "Internet", CRM Platform vs. Website ○ Erst wachsende Erfahrung mit "großen" Projekten (Test-Fixtures, Deployment <3) Photo: salesforce.com ○ "No Software"?
  • 4. ... the ugly Abbildung: Cal Evans [https://secure.flickr.com/photos/calevans]
  • 5. PHP ● Bewährte, stabile ● Software! (und HW) Entwicklungsplattform ● (Fast) keine ● Wartungsarm Standardisierung => SPL ● Kostengünstig vs. JSR ● Geringe ● (Fast) Keine Entwicklungszeiten Interfaces/Contracts => ● Verfügbare Experten, Funktionen() vs. API verfügbares ● Vorsicht vor dem Expertenwissen Spaghetticode! ● Community ● Nicht "Enterprise" ● "Agil" genug?
  • 6. PHP vs. Apex/VF ● Keine Einschränkungen durch standardisierte GUI- Components oder das "Salesforce-Layout" ● Beliebige Ausgabe ○ HTML(5), JSON, XML ○ PDF ○ JPEG, PNG, GIF ○ Flash ○ Video ● Nahezu jedes Design kann umgesetzt, jedes Frontend "bedient" werden
  • 7. Symfony 2 ● "Web application framework" ○ lose gekoppelt, komponentenbasiert ○ stabil, testabgedeckt ○ große Community ○ international be- und anerkannt ○ implementiert viele Standards und best practices anderer Sprachen und Frameworks ● "State-Of-The-Art" ○ PHP 5.3.x ● Reduziert oder verbirgt PHP-Nachteile und Stolpersteine Macht die strukturierte, wartbare und effiziente Entwicklung großer Softwareprojekte auf der PHP- Plattform möglich (bzw. reduziert gelegentlich dabei auftretende Schmerzen auf ein Minimum)
  • 8. PHP & Force.com ● Force.com-Toolkit für PHP (5.3) ○ via PHP:SOAP ■ Webservice API Partner/Enterprise ■ Custom Webservices ● Das "M" in MVC ○ SOQL-Queries: query(), queryMore(), retrieve(), ... ○ DML-Statements ■ create(), update(), upsert() ■ Prepared Statements!
  • 9. Symfony 2 & Force.com Mittels zur Laufzeit zugänglichen Metainformationen ("Reflection") ● describeLayout() ● describeSobject() können Symfony-Formtypes und Validatoren generiert werden, zum Beispiel ● (HTML 5) Formtypes ○ Date, Datetime, (dependent) Picklist, Email, Phone, Required fields, minlength, maxlength-Attributes, etc. ● Validators ○ "Contains-Validator" (Picklist) ○ Complex (Custom)-Validator (Address Validation, Serialnumber validity check)
  • 10. Symfony 2 & Force.com (2) Vorteile: ● I18n auf der Plattform (Field-Labels) ● Minimaler Pflegeaufwand, bspw. bei Picklist-Values ● "Rapid" form development ● Absolute Flexibilität bei der Weiterverarbeitung der gesammelten und validierten POST-Daten. ● Einfaches, automatisiertes Rendern ganzer Formulare auf Basis von describeLayout()-Rastern (foreach row in rows, foreach col in row, [...]) Nachteilig ist ein gewisser overhead an SOAP-Calls und Metadaten-Aggregierung. => Caching
  • 11. Symfony 2 & Force.com (3) Wiederverwendbares Symfony-Modul ("CodemitteForceBundle") ● Form-Extensions (type "sfdc_field") ○ Ein Form-Type für "alles" ● Twig-Template-Extensions ○ Form-Helptexts ○ Form-labels werden auf der Force.com Plattform übersetzt, no need 4 I18n ○ Form-Templates (für bspw. Dependent-Picklists oder Phone- Type) ● Validation-Extension ○ Still under heavy development ● Pagelayout2Form-Renderer ○ Still under heavy development
  • 12. Und nun ... ... ein kurzer Blick auf das neue, Force.com & PHP-getriebene Portal appletini.com Photo: Sherry Elliott
  • 13. Danke für die Aufmerksamkeit.