SlideShare a Scribd company logo
1 of 35
Introduction in VMForce by Alex Kruk Skype: alexandrkruk Email: alex.kruk@parx.com
PARX – ABOUT US Leading Google Enterprise and Salesforce.com consulting partner in German-speaking Europe comprehensive Cloud Computing Services from a single source servicesacrosstheentirevaluechain: consulting, conception, specifications, development, implementation, training, support, projectmanagement offices in Zurich, Munich, Dusseldorf and Vienna founded in 1998
PARX – ABOUT US Strategic alliances Google Enterprise Partner Salesforce.com Consultuing Partner Amazon Web Services, Box.net, GoodData & Signavio PARX was among the first salesforce.com, Google Enterprise, and Amazon Web Services partners in Europe
PARX – PORTFOLIO
Progress... Join us 1960s Mainframe 1980s On-Premise Client/server Today Enterprise Cloud Computing
The cloud computing model Multi-tenant Automatic Upgrades Pay-as-you-go Real-time 5x Faster
Salesforce.com
FORCE.COM - PAAS
FORCE.COM components
VMFORCE is coming?
Database.com SDK Use Database.com to store your application data Interact with data already written to Database.com  Leverage the Database.com user security model to manage data access for your application  Extend existing Force.com applications with Java logic
Database.com SDK components API Connector JPA Provider OAuth Authentication and Authorization Spring Security Plugin Spring MVC Project Template Code Generation Plugin
JPA provider Implements a subset of the JPA 2.0 specification Based on DataNucleus platform Supports most of DN annotations + some custom. Supports additional functionality (SOQL, etc.) Based on Web Services API and Metadata API
API COnnector <persistence-unit name="forceDatabase">         <provider>com.force.sdk.jpa.PersistenceProviderImpl</provider>        <properties>             <property name="datanucleus.storeManagerType" value="force" />             <property name="datanucleus.connectionURL" value="${CONN_URL}" />             <property name="datanucleus.autoCreateSchema" value="true" />             <property name="datanucleus.validateTables" value="false" />             <property name="datanucleus.validateConstraints" value="false" />             <property name="datanucleus.Optimistic" value="false" />             <property name="datanucleus.datastoreTransactionDelayOperations"             value="true" />             <property name="datanucleus.jpa.addClassTransformer" value="false" />             <property name="datanucleus.cache.level2.type" value="none" />             <property name="datanucleus.detachAllOnCommit" value="true" />             <property name="datanucleus.copyOnAttach" value="false" />         </properties>     </persistence-unit>
JPA provider Data types. Standard + custom (Phone, URL, etc.) Primary Keys. String, GenerationType.IDENTITY, non-composit. Relationships. @ManyToOne and @OneToMany Standard/Custom annotations Transactions Queries Limits
Standard/Custom annotations Standard JPA annotations Custom JPA annotations @CustomObject (enableFeeds, readOnlySchema ) @CustomField (childRelationshipName, description, label, precision, scale, type, etc…) @PicklistValue @JoinFilter (alias="w", value="w.name LIKE 'Chateau%'")
Creating, Updating, and Deleting Data EntityManagerFactory factory = Persistence.createEntityManagerFactory(persistenceUnitName); EntityManagerem = factory.createEntityManager(); AlbomanAlbom = new Albom(); anAlbom.setName("ABC"); EntityTransactiontx = em.getTransaction(); tx.begin(); em.persist(anAlbom); tx.commit();
Querying with JPQL EntityManagerFactoryaFactory = Persistence.createEntityManagerFactory(persistenceUnitName); EntityManagerem = aFactory.createEntityManager(); String aQuerySt = "SELECT acc FROM Account acc WHERE u.Name = :fName"; Query aQuery = em.createQuery(aQuerySt); aQuery.setParameter("fName", "noname"); List<Account> results = (List)aQuery.getResultList();
Querying with JPQL Bulk Delete and Queries JPQL Date (Temporal) Functions JPQL Joins Implicit Joins Explicit Joins (SELECT p FROM Parent p JOIN p.childsc WHERE c.name = ‘examp’) IN Joins (SELECT p FROM Parent p IN (o.childs) c WHERE c.name = 'sample1') Semi-Joins and Anti-Joins  Child-Map Joins Relationship Joins (SELECT c FROM Child c WHERE c.Parent.name in ('Parent1', 'Parent2')) MEMBER OF Comparison Operator
Querying with SOQL Returning Typed-Object Records String aQS= "SELECT Email, Phone FROM Account WHERE Name = ‘Apple'"; Query aQ= em.createNativeQuery(soqlQuery); List<SObject> results = q.getResultList(); Returning SObject Records Query aQuery= em.createNativeQuery(soqlQuery, User.class); List<User> results = aQuery.getResultList(); Relationship Queries String aQS= "SELECT id, name, (SELECT id, Name FROM Parent_Childs__r)” + 	+ “FROM Parent__c"; Query aQuery= em.createNativeQuery(aQS, Parent.class); List<SObject> results = aQuery.getResultList(); ArrayList<ChildEntity> childs = (ArrayList<Child>) results.get(0).getChilds();
OAuth Authentication <filter>     <filter-name>AuthFilter</filter-name>     <filter-class>com.force.sdk.oauth.AuthFilter</filter-class>          <init-param>             <param-name>url</param-name>             <param-value>URL or a ${Java system property} or ${environment variable}</param-value>         </init-param> </filter> <filter-mapping>     <filter-name>AuthFilter</filter-name>     <url-pattern>/*</url-pattern> </filter-mapping>
OAuth Authentication Filter parameters securityContextStorageMethod secure-key-file storeUsername logoutFromDatabaseDotCom logoutUrl Spring Security Support
Other Limits (DBDC, Force.com, SDK) Native connections Retrieving User Data Spring MVC Project Template Code Generation Plugin
Bye-bye laptop
Hello world Maven 3.0 Get Force.com/Database.com instance. Open API access to user, get security token mvnarchetype:generate -DarchetypeGroupId=com.force.sdk 	-DarchetypeArtifactId=springmvc-archetype FORCE_FORCEDATABASE_URL=force://login.salesforce.com?user=test@ciklumjava.com^&password=mypassAndSS mvntomcat:run-war
Hello world Add oAuth Add Entities files. Use Code Generation Plugin Perform SOQL/JPQL queries. Add/modify data using Transactions
Founded in 2008, Initially PaaS for Ruby. Now supports Ruby, Node.js, Clojure, Python, and Scala. Since September 2011 supports Java.
What do we need? Maven 3.0 JDK 1.6+ Heroku account Installed Herokuenv. (inc.Git, Foreman) Java application built on Maven.
Next step Configure application using pom.xml Configure Procfileto declare how you want your application executed web: java $JAVA_OPTS -jar target/dependency/jetty-runner.jar --port $PORT target/*.war Run locally.  “foreman start” “gitadd .” git commit -m “Are you sure???“ heroku create --stack cedar git push heroku master
Heroku is awesome  Built-for-Deployment Applications Version Control is the Central Distribution Mechanism. No Need to Externalize Configuration From Your Code Deployment is a Highly Automated Pipeline Process How do Applications use JEE APIs Without a Container? Servlets and JSPs by Tomcat or Jetty. JSF and other rendering frameworks by Mojarra or MyFaces Mail services by SendGrid. JDBC to connect to HerokuPostgres service or Amazon RDS Hibernate or DataNucleus JPA to provide an ORM persistence 
Heroku is awesome  Deployment “gitpush herokumaster” Start/Stop/Restart “herokurestart” Deployment of Changes Clustering (scaling) “heroku scale web=2 worker=4” Load-balancing Logging
Something else about heroku Dyno??? Isolation by subvirtualization technologies One request at a time 512MB of memory Web/worker dynos. $0.05 per hour Payment Dynos Database Add-ons
THANK  YOU! Database.com SDK HEROKU for Java by Alex Kruk Skype: alexandrkruk Email: alex.kruk@parx.com

More Related Content

What's hot

A (very) opinionated guide to MSBuild and Project Files
A (very) opinionated guide to MSBuild and Project FilesA (very) opinionated guide to MSBuild and Project Files
A (very) opinionated guide to MSBuild and Project FilesDavid Wengier
 
Parse: A Mobile Backend as a Service (MBaaS)
Parse: A Mobile Backend as a Service (MBaaS)Parse: A Mobile Backend as a Service (MBaaS)
Parse: A Mobile Backend as a Service (MBaaS)Ville Seppänen
 
Parse cloud code
Parse cloud codeParse cloud code
Parse cloud code維佋 唐
 
Tips and tricks for building api heavy ruby on rails applications
Tips and tricks for building api heavy ruby on rails applicationsTips and tricks for building api heavy ruby on rails applications
Tips and tricks for building api heavy ruby on rails applicationsTim Cull
 
Building Android apps with Parse
Building Android apps with ParseBuilding Android apps with Parse
Building Android apps with ParseDroidConTLV
 
Wcf data services
Wcf data servicesWcf data services
Wcf data servicesEyal Vardi
 
Advanced Durable Functions - Serverless Meetup Tokyo - Feb 2018
Advanced Durable Functions - Serverless Meetup Tokyo - Feb 2018Advanced Durable Functions - Serverless Meetup Tokyo - Feb 2018
Advanced Durable Functions - Serverless Meetup Tokyo - Feb 2018Chris Gillum
 
GWT integration with Vaadin
GWT integration with VaadinGWT integration with Vaadin
GWT integration with VaadinPeter Lehto
 
Symfony 4 Workshop - Limenius
Symfony 4 Workshop - LimeniusSymfony 4 Workshop - Limenius
Symfony 4 Workshop - LimeniusIgnacio Martín
 
Making connected apps with BaaS (Droidcon Bangalore 2014)
Making connected apps with BaaS (Droidcon Bangalore 2014)Making connected apps with BaaS (Droidcon Bangalore 2014)
Making connected apps with BaaS (Droidcon Bangalore 2014)Varun Torka
 
How to perform debounce in react
How to perform debounce in reactHow to perform debounce in react
How to perform debounce in reactBOSC Tech Labs
 
Demystifying Hooks, Actions & Filters - WordCamp Belfast 2018
Demystifying Hooks, Actions & Filters - WordCamp Belfast 2018Demystifying Hooks, Actions & Filters - WordCamp Belfast 2018
Demystifying Hooks, Actions & Filters - WordCamp Belfast 2018Damien Carbery
 
Azure Durable Functions (2018-06-13)
Azure Durable Functions (2018-06-13)Azure Durable Functions (2018-06-13)
Azure Durable Functions (2018-06-13)Paco de la Cruz
 
Good karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaGood karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaExoLeaders.com
 
Integrate CI/CD Pipelines with Jira Software Cloud
Integrate CI/CD Pipelines with Jira Software CloudIntegrate CI/CD Pipelines with Jira Software Cloud
Integrate CI/CD Pipelines with Jira Software CloudAtlassian
 
Real World Dependency Injection - oscon13
Real World Dependency Injection - oscon13Real World Dependency Injection - oscon13
Real World Dependency Injection - oscon13Stephan Hochdörfer
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the HoodAtlassian
 
Using of TDD practices for Magento
Using of TDD practices for MagentoUsing of TDD practices for Magento
Using of TDD practices for MagentoIvan Chepurnyi
 
AtlasCamp 2015: JIRA Service Desk: Scale your team with build-it-yourself aut...
AtlasCamp 2015: JIRA Service Desk: Scale your team with build-it-yourself aut...AtlasCamp 2015: JIRA Service Desk: Scale your team with build-it-yourself aut...
AtlasCamp 2015: JIRA Service Desk: Scale your team with build-it-yourself aut...Atlassian
 

What's hot (20)

A (very) opinionated guide to MSBuild and Project Files
A (very) opinionated guide to MSBuild and Project FilesA (very) opinionated guide to MSBuild and Project Files
A (very) opinionated guide to MSBuild and Project Files
 
Parse: A Mobile Backend as a Service (MBaaS)
Parse: A Mobile Backend as a Service (MBaaS)Parse: A Mobile Backend as a Service (MBaaS)
Parse: A Mobile Backend as a Service (MBaaS)
 
Parse cloud code
Parse cloud codeParse cloud code
Parse cloud code
 
Tips and tricks for building api heavy ruby on rails applications
Tips and tricks for building api heavy ruby on rails applicationsTips and tricks for building api heavy ruby on rails applications
Tips and tricks for building api heavy ruby on rails applications
 
Building Android apps with Parse
Building Android apps with ParseBuilding Android apps with Parse
Building Android apps with Parse
 
Wcf data services
Wcf data servicesWcf data services
Wcf data services
 
Advanced Durable Functions - Serverless Meetup Tokyo - Feb 2018
Advanced Durable Functions - Serverless Meetup Tokyo - Feb 2018Advanced Durable Functions - Serverless Meetup Tokyo - Feb 2018
Advanced Durable Functions - Serverless Meetup Tokyo - Feb 2018
 
GWT integration with Vaadin
GWT integration with VaadinGWT integration with Vaadin
GWT integration with Vaadin
 
Symfony 4 Workshop - Limenius
Symfony 4 Workshop - LimeniusSymfony 4 Workshop - Limenius
Symfony 4 Workshop - Limenius
 
Graphql, REST and Apollo
Graphql, REST and ApolloGraphql, REST and Apollo
Graphql, REST and Apollo
 
Making connected apps with BaaS (Droidcon Bangalore 2014)
Making connected apps with BaaS (Droidcon Bangalore 2014)Making connected apps with BaaS (Droidcon Bangalore 2014)
Making connected apps with BaaS (Droidcon Bangalore 2014)
 
How to perform debounce in react
How to perform debounce in reactHow to perform debounce in react
How to perform debounce in react
 
Demystifying Hooks, Actions & Filters - WordCamp Belfast 2018
Demystifying Hooks, Actions & Filters - WordCamp Belfast 2018Demystifying Hooks, Actions & Filters - WordCamp Belfast 2018
Demystifying Hooks, Actions & Filters - WordCamp Belfast 2018
 
Azure Durable Functions (2018-06-13)
Azure Durable Functions (2018-06-13)Azure Durable Functions (2018-06-13)
Azure Durable Functions (2018-06-13)
 
Good karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with KarmaGood karma: UX Patterns and Unit Testing in Angular with Karma
Good karma: UX Patterns and Unit Testing in Angular with Karma
 
Integrate CI/CD Pipelines with Jira Software Cloud
Integrate CI/CD Pipelines with Jira Software CloudIntegrate CI/CD Pipelines with Jira Software Cloud
Integrate CI/CD Pipelines with Jira Software Cloud
 
Real World Dependency Injection - oscon13
Real World Dependency Injection - oscon13Real World Dependency Injection - oscon13
Real World Dependency Injection - oscon13
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the Hood
 
Using of TDD practices for Magento
Using of TDD practices for MagentoUsing of TDD practices for Magento
Using of TDD practices for Magento
 
AtlasCamp 2015: JIRA Service Desk: Scale your team with build-it-yourself aut...
AtlasCamp 2015: JIRA Service Desk: Scale your team with build-it-yourself aut...AtlasCamp 2015: JIRA Service Desk: Scale your team with build-it-yourself aut...
AtlasCamp 2015: JIRA Service Desk: Scale your team with build-it-yourself aut...
 

Viewers also liked

"To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod...
"To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod..."To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod...
"To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod...Ciklum Ukraine
 
Why Adopt Nearshore Agile Development - Ciklum White Paper
Why Adopt Nearshore Agile Development - Ciklum White PaperWhy Adopt Nearshore Agile Development - Ciklum White Paper
Why Adopt Nearshore Agile Development - Ciklum White PaperCiklum Ukraine
 
How to-day ciklum-sye (WHAT IS CIKLUM )
How to-day ciklum-sye (WHAT IS CIKLUM )How to-day ciklum-sye (WHAT IS CIKLUM )
How to-day ciklum-sye (WHAT IS CIKLUM )Alice Zabolotnaya
 
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...Ciklum Ukraine
 
EPAM Belarus relocation package
EPAM Belarus relocation packageEPAM Belarus relocation package
EPAM Belarus relocation packageAlesia Tryfanava
 
Brochure of luxoft aerospace expertise
Brochure of luxoft aerospace expertiseBrochure of luxoft aerospace expertise
Brochure of luxoft aerospace expertiseLuxoft
 
Epam presentation
Epam presentationEpam presentation
Epam presentationLula21
 
SC17042012:ArseniyBurekhin-The Clean Coder
SC17042012:ArseniyBurekhin-The Clean CoderSC17042012:ArseniyBurekhin-The Clean Coder
SC17042012:ArseniyBurekhin-The Clean CoderCiklum Ukraine
 
What is Happening in the "App Factory"?
What is Happening in the "App Factory"?What is Happening in the "App Factory"?
What is Happening in the "App Factory"?Ciklum Ukraine
 
PracticeLeadersManagement&Communication18042012YuriyKudin-Fixed cost projects...
PracticeLeadersManagement&Communication18042012YuriyKudin-Fixed cost projects...PracticeLeadersManagement&Communication18042012YuriyKudin-Fixed cost projects...
PracticeLeadersManagement&Communication18042012YuriyKudin-Fixed cost projects...Ciklum Ukraine
 
"Through the three circles of the it hell" by Roman Liashenko
"Through the three circles of the it hell" by Roman Liashenko"Through the three circles of the it hell" by Roman Liashenko
"Through the three circles of the it hell" by Roman LiashenkoCiklum Ukraine
 
Brochure of luxoft automotive software by luxoft software development
Brochure of luxoft automotive software by luxoft software developmentBrochure of luxoft automotive software by luxoft software development
Brochure of luxoft automotive software by luxoft software developmentLuxoft
 
Luxoft Ukraine industry 4 0 meeting
Luxoft Ukraine industry 4 0 meetingLuxoft Ukraine industry 4 0 meeting
Luxoft Ukraine industry 4 0 meetingAPPAU_Ukraine
 

Viewers also liked (18)

"To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod...
"To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod..."To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod...
"To be, rather than to seem” interview with Ciklum VP of HR Marina Vyshegorod...
 
Why to join Ciklum?
Why to join Ciklum?Why to join Ciklum?
Why to join Ciklum?
 
Why Adopt Nearshore Agile Development - Ciklum White Paper
Why Adopt Nearshore Agile Development - Ciklum White PaperWhy Adopt Nearshore Agile Development - Ciklum White Paper
Why Adopt Nearshore Agile Development - Ciklum White Paper
 
How to-day ciklum-sye (WHAT IS CIKLUM )
How to-day ciklum-sye (WHAT IS CIKLUM )How to-day ciklum-sye (WHAT IS CIKLUM )
How to-day ciklum-sye (WHAT IS CIKLUM )
 
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
Future of Outsourcing report published in The Times featuring Ciklum's CEO To...
 
EPAM Belarus relocation package
EPAM Belarus relocation packageEPAM Belarus relocation package
EPAM Belarus relocation package
 
Luxoft
LuxoftLuxoft
Luxoft
 
Brochure of luxoft aerospace expertise
Brochure of luxoft aerospace expertiseBrochure of luxoft aerospace expertise
Brochure of luxoft aerospace expertise
 
Epam presentation
Epam presentationEpam presentation
Epam presentation
 
SC17042012:ArseniyBurekhin-The Clean Coder
SC17042012:ArseniyBurekhin-The Clean CoderSC17042012:ArseniyBurekhin-The Clean Coder
SC17042012:ArseniyBurekhin-The Clean Coder
 
What is Happening in the "App Factory"?
What is Happening in the "App Factory"?What is Happening in the "App Factory"?
What is Happening in the "App Factory"?
 
PracticeLeadersManagement&Communication18042012YuriyKudin-Fixed cost projects...
PracticeLeadersManagement&Communication18042012YuriyKudin-Fixed cost projects...PracticeLeadersManagement&Communication18042012YuriyKudin-Fixed cost projects...
PracticeLeadersManagement&Communication18042012YuriyKudin-Fixed cost projects...
 
IT industry. Ciklum. You
IT industry. Ciklum. You IT industry. Ciklum. You
IT industry. Ciklum. You
 
"Through the three circles of the it hell" by Roman Liashenko
"Through the three circles of the it hell" by Roman Liashenko"Through the three circles of the it hell" by Roman Liashenko
"Through the three circles of the it hell" by Roman Liashenko
 
Brochure of luxoft automotive software by luxoft software development
Brochure of luxoft automotive software by luxoft software developmentBrochure of luxoft automotive software by luxoft software development
Brochure of luxoft automotive software by luxoft software development
 
Luxoft Ukraine industry 4 0 meeting
Luxoft Ukraine industry 4 0 meetingLuxoft Ukraine industry 4 0 meeting
Luxoft Ukraine industry 4 0 meeting
 
Dod
DodDod
Dod
 
7 Qualities of Agile Team Member
7 Qualities of Agile Team Member7 Qualities of Agile Team Member
7 Qualities of Agile Team Member
 

Similar to CiklumJavaSat_15112011:Alex Kruk VMForce

Developing A Real World Logistic Application With Oracle Application - UKOUG ...
Developing A Real World Logistic Application With Oracle Application - UKOUG ...Developing A Real World Logistic Application With Oracle Application - UKOUG ...
Developing A Real World Logistic Application With Oracle Application - UKOUG ...Roel Hartman
 
Top 10 Web Security Vulnerabilities
Top 10 Web Security VulnerabilitiesTop 10 Web Security Vulnerabilities
Top 10 Web Security VulnerabilitiesCarol McDonald
 
Itemscript, a specification for RESTful JSON integration
Itemscript, a specification for RESTful JSON integrationItemscript, a specification for RESTful JSON integration
Itemscript, a specification for RESTful JSON integration{item:foo}
 
Integrating Force.com with Heroku
Integrating Force.com with HerokuIntegrating Force.com with Heroku
Integrating Force.com with HerokuPat Patterson
 
The vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQLThe vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQLLukas Eder
 
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...goodfriday
 
ADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
ADO.NET Entity Framework by Jose A. Blakeley and Michael PizzoADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
ADO.NET Entity Framework by Jose A. Blakeley and Michael PizzoHasnain Iqbal
 
Non Conventional Android Programming (English)
Non Conventional Android Programming (English)Non Conventional Android Programming (English)
Non Conventional Android Programming (English)Davide Cerbo
 
Non Conventional Android Programming En
Non Conventional Android Programming EnNon Conventional Android Programming En
Non Conventional Android Programming Enguest9bcef2f
 
Introduction to AJAX and DWR
Introduction to AJAX and DWRIntroduction to AJAX and DWR
Introduction to AJAX and DWRSweNz FixEd
 
Entity framework and how to use it
Entity framework and how to use itEntity framework and how to use it
Entity framework and how to use itnspyre_net
 
Working with data using Azure Functions.pdf
Working with data using Azure Functions.pdfWorking with data using Azure Functions.pdf
Working with data using Azure Functions.pdfStephanie Locke
 
Intro Open Social and Dashboards
Intro Open Social and DashboardsIntro Open Social and Dashboards
Intro Open Social and DashboardsAtlassian
 
Apache Aries Blog Sample
Apache Aries Blog SampleApache Aries Blog Sample
Apache Aries Blog SampleSkills Matter
 
Practical catalyst
Practical catalystPractical catalyst
Practical catalystdwm042
 
Introducing Struts 2
Introducing Struts 2Introducing Struts 2
Introducing Struts 2wiradikusuma
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Pythongturnquist
 
Aug Xml Net Forum Dynamics Integration
Aug Xml Net Forum Dynamics IntegrationAug Xml Net Forum Dynamics Integration
Aug Xml Net Forum Dynamics IntegrationMariAnne Woehrle
 

Similar to CiklumJavaSat_15112011:Alex Kruk VMForce (20)

Developing A Real World Logistic Application With Oracle Application - UKOUG ...
Developing A Real World Logistic Application With Oracle Application - UKOUG ...Developing A Real World Logistic Application With Oracle Application - UKOUG ...
Developing A Real World Logistic Application With Oracle Application - UKOUG ...
 
Top 10 Web Security Vulnerabilities
Top 10 Web Security VulnerabilitiesTop 10 Web Security Vulnerabilities
Top 10 Web Security Vulnerabilities
 
สปริงเฟรมเวิร์ค4.1
สปริงเฟรมเวิร์ค4.1สปริงเฟรมเวิร์ค4.1
สปริงเฟรมเวิร์ค4.1
 
Itemscript, a specification for RESTful JSON integration
Itemscript, a specification for RESTful JSON integrationItemscript, a specification for RESTful JSON integration
Itemscript, a specification for RESTful JSON integration
 
Integrating Force.com with Heroku
Integrating Force.com with HerokuIntegrating Force.com with Heroku
Integrating Force.com with Heroku
 
The vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQLThe vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQL
 
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
 
ADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
ADO.NET Entity Framework by Jose A. Blakeley and Michael PizzoADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
ADO.NET Entity Framework by Jose A. Blakeley and Michael Pizzo
 
Non Conventional Android Programming (English)
Non Conventional Android Programming (English)Non Conventional Android Programming (English)
Non Conventional Android Programming (English)
 
Non Conventional Android Programming En
Non Conventional Android Programming EnNon Conventional Android Programming En
Non Conventional Android Programming En
 
Introduction to AJAX and DWR
Introduction to AJAX and DWRIntroduction to AJAX and DWR
Introduction to AJAX and DWR
 
Entity framework and how to use it
Entity framework and how to use itEntity framework and how to use it
Entity framework and how to use it
 
Working with data using Azure Functions.pdf
Working with data using Azure Functions.pdfWorking with data using Azure Functions.pdf
Working with data using Azure Functions.pdf
 
Intro Open Social and Dashboards
Intro Open Social and DashboardsIntro Open Social and Dashboards
Intro Open Social and Dashboards
 
Apache Aries Blog Sample
Apache Aries Blog SampleApache Aries Blog Sample
Apache Aries Blog Sample
 
Practical catalyst
Practical catalystPractical catalyst
Practical catalyst
 
Php frameworks
Php frameworksPhp frameworks
Php frameworks
 
Introducing Struts 2
Introducing Struts 2Introducing Struts 2
Introducing Struts 2
 
Intro To Spring Python
Intro To Spring PythonIntro To Spring Python
Intro To Spring Python
 
Aug Xml Net Forum Dynamics Integration
Aug Xml Net Forum Dynamics IntegrationAug Xml Net Forum Dynamics Integration
Aug Xml Net Forum Dynamics Integration
 

More from Ciklum Ukraine

"How keep normal blood pressure using TDD" By Roman Loparev
"How keep normal blood pressure using TDD" By Roman Loparev"How keep normal blood pressure using TDD" By Roman Loparev
"How keep normal blood pressure using TDD" By Roman LoparevCiklum Ukraine
 
Alex Pazhyn: Google_Material_Design
Alex Pazhyn: Google_Material_DesignAlex Pazhyn: Google_Material_Design
Alex Pazhyn: Google_Material_DesignCiklum Ukraine
 
Introduction to amazon web services for developers
Introduction to amazon web services for developersIntroduction to amazon web services for developers
Introduction to amazon web services for developersCiklum Ukraine
 
Your 1st Apple watch Application
Your 1st Apple watch ApplicationYour 1st Apple watch Application
Your 1st Apple watch ApplicationCiklum Ukraine
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentCiklum Ukraine
 
Back to the future: ux trends 2015
Back to the future: ux trends 2015Back to the future: ux trends 2015
Back to the future: ux trends 2015Ciklum Ukraine
 
Developing high load systems using C++
Developing high load systems using C++Developing high load systems using C++
Developing high load systems using C++Ciklum Ukraine
 
Collection view layout
Collection view layoutCollection view layout
Collection view layoutCiklum Ukraine
 
Introduction to auto layout
Introduction to auto layoutIntroduction to auto layout
Introduction to auto layoutCiklum Ukraine
 
Unit Testing: Special Cases
Unit Testing: Special CasesUnit Testing: Special Cases
Unit Testing: Special CasesCiklum Ukraine
 
Model-View-Controller: Tips&Tricks
Model-View-Controller: Tips&TricksModel-View-Controller: Tips&Tricks
Model-View-Controller: Tips&TricksCiklum Ukraine
 
Михаил Попчук "Cкрытые резервы команд или 1+1=3"
Михаил Попчук "Cкрытые резервы команд или 1+1=3"Михаил Попчук "Cкрытые резервы команд или 1+1=3"
Михаил Попчук "Cкрытые резервы команд или 1+1=3"Ciklum Ukraine
 
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy""Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"Ciklum Ukraine
 
Ciklum Mobile Development Capability: Project Clients' References
Ciklum Mobile Development Capability: Project Clients' ReferencesCiklum Mobile Development Capability: Project Clients' References
Ciklum Mobile Development Capability: Project Clients' ReferencesCiklum Ukraine
 

More from Ciklum Ukraine (20)

"How keep normal blood pressure using TDD" By Roman Loparev
"How keep normal blood pressure using TDD" By Roman Loparev"How keep normal blood pressure using TDD" By Roman Loparev
"How keep normal blood pressure using TDD" By Roman Loparev
 
Alex Pazhyn: Google_Material_Design
Alex Pazhyn: Google_Material_DesignAlex Pazhyn: Google_Material_Design
Alex Pazhyn: Google_Material_Design
 
Introduction to amazon web services for developers
Introduction to amazon web services for developersIntroduction to amazon web services for developers
Introduction to amazon web services for developers
 
Your 1st Apple watch Application
Your 1st Apple watch ApplicationYour 1st Apple watch Application
Your 1st Apple watch Application
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Back to the future: ux trends 2015
Back to the future: ux trends 2015Back to the future: ux trends 2015
Back to the future: ux trends 2015
 
Developing high load systems using C++
Developing high load systems using C++Developing high load systems using C++
Developing high load systems using C++
 
Collection view layout
Collection view layoutCollection view layout
Collection view layout
 
Introduction to auto layout
Introduction to auto layoutIntroduction to auto layout
Introduction to auto layout
 
Groovy on Android
Groovy on AndroidGroovy on Android
Groovy on Android
 
Unit Testing: Special Cases
Unit Testing: Special CasesUnit Testing: Special Cases
Unit Testing: Special Cases
 
Material design
Material designMaterial design
Material design
 
Kanban development
Kanban developmentKanban development
Kanban development
 
Mobile sketching
Mobile sketching Mobile sketching
Mobile sketching
 
More UX in our life
More UX in our lifeMore UX in our life
More UX in our life
 
Model-View-Controller: Tips&Tricks
Model-View-Controller: Tips&TricksModel-View-Controller: Tips&Tricks
Model-View-Controller: Tips&Tricks
 
Unit Tesing in iOS
Unit Tesing in iOSUnit Tesing in iOS
Unit Tesing in iOS
 
Михаил Попчук "Cкрытые резервы команд или 1+1=3"
Михаил Попчук "Cкрытые резервы команд или 1+1=3"Михаил Попчук "Cкрытые резервы команд или 1+1=3"
Михаил Попчук "Cкрытые резервы команд или 1+1=3"
 
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy""Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
"Marmalade" presentation at Ciklum event "Defining your Mobile Strategy"
 
Ciklum Mobile Development Capability: Project Clients' References
Ciklum Mobile Development Capability: Project Clients' ReferencesCiklum Mobile Development Capability: Project Clients' References
Ciklum Mobile Development Capability: Project Clients' References
 

Recently uploaded

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 

Recently uploaded (20)

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 

CiklumJavaSat_15112011:Alex Kruk VMForce

  • 1.
  • 2. Introduction in VMForce by Alex Kruk Skype: alexandrkruk Email: alex.kruk@parx.com
  • 3.
  • 4. PARX – ABOUT US Leading Google Enterprise and Salesforce.com consulting partner in German-speaking Europe comprehensive Cloud Computing Services from a single source servicesacrosstheentirevaluechain: consulting, conception, specifications, development, implementation, training, support, projectmanagement offices in Zurich, Munich, Dusseldorf and Vienna founded in 1998
  • 5. PARX – ABOUT US Strategic alliances Google Enterprise Partner Salesforce.com Consultuing Partner Amazon Web Services, Box.net, GoodData & Signavio PARX was among the first salesforce.com, Google Enterprise, and Amazon Web Services partners in Europe
  • 7. Progress... Join us 1960s Mainframe 1980s On-Premise Client/server Today Enterprise Cloud Computing
  • 8. The cloud computing model Multi-tenant Automatic Upgrades Pay-as-you-go Real-time 5x Faster
  • 13. Database.com SDK Use Database.com to store your application data Interact with data already written to Database.com Leverage the Database.com user security model to manage data access for your application Extend existing Force.com applications with Java logic
  • 14. Database.com SDK components API Connector JPA Provider OAuth Authentication and Authorization Spring Security Plugin Spring MVC Project Template Code Generation Plugin
  • 15. JPA provider Implements a subset of the JPA 2.0 specification Based on DataNucleus platform Supports most of DN annotations + some custom. Supports additional functionality (SOQL, etc.) Based on Web Services API and Metadata API
  • 16. API COnnector <persistence-unit name="forceDatabase"> <provider>com.force.sdk.jpa.PersistenceProviderImpl</provider> <properties> <property name="datanucleus.storeManagerType" value="force" /> <property name="datanucleus.connectionURL" value="${CONN_URL}" /> <property name="datanucleus.autoCreateSchema" value="true" /> <property name="datanucleus.validateTables" value="false" /> <property name="datanucleus.validateConstraints" value="false" /> <property name="datanucleus.Optimistic" value="false" /> <property name="datanucleus.datastoreTransactionDelayOperations" value="true" /> <property name="datanucleus.jpa.addClassTransformer" value="false" /> <property name="datanucleus.cache.level2.type" value="none" /> <property name="datanucleus.detachAllOnCommit" value="true" /> <property name="datanucleus.copyOnAttach" value="false" /> </properties> </persistence-unit>
  • 17. JPA provider Data types. Standard + custom (Phone, URL, etc.) Primary Keys. String, GenerationType.IDENTITY, non-composit. Relationships. @ManyToOne and @OneToMany Standard/Custom annotations Transactions Queries Limits
  • 18. Standard/Custom annotations Standard JPA annotations Custom JPA annotations @CustomObject (enableFeeds, readOnlySchema ) @CustomField (childRelationshipName, description, label, precision, scale, type, etc…) @PicklistValue @JoinFilter (alias="w", value="w.name LIKE 'Chateau%'")
  • 19. Creating, Updating, and Deleting Data EntityManagerFactory factory = Persistence.createEntityManagerFactory(persistenceUnitName); EntityManagerem = factory.createEntityManager(); AlbomanAlbom = new Albom(); anAlbom.setName("ABC"); EntityTransactiontx = em.getTransaction(); tx.begin(); em.persist(anAlbom); tx.commit();
  • 20. Querying with JPQL EntityManagerFactoryaFactory = Persistence.createEntityManagerFactory(persistenceUnitName); EntityManagerem = aFactory.createEntityManager(); String aQuerySt = "SELECT acc FROM Account acc WHERE u.Name = :fName"; Query aQuery = em.createQuery(aQuerySt); aQuery.setParameter("fName", "noname"); List<Account> results = (List)aQuery.getResultList();
  • 21. Querying with JPQL Bulk Delete and Queries JPQL Date (Temporal) Functions JPQL Joins Implicit Joins Explicit Joins (SELECT p FROM Parent p JOIN p.childsc WHERE c.name = ‘examp’) IN Joins (SELECT p FROM Parent p IN (o.childs) c WHERE c.name = 'sample1') Semi-Joins and Anti-Joins Child-Map Joins Relationship Joins (SELECT c FROM Child c WHERE c.Parent.name in ('Parent1', 'Parent2')) MEMBER OF Comparison Operator
  • 22. Querying with SOQL Returning Typed-Object Records String aQS= "SELECT Email, Phone FROM Account WHERE Name = ‘Apple'"; Query aQ= em.createNativeQuery(soqlQuery); List<SObject> results = q.getResultList(); Returning SObject Records Query aQuery= em.createNativeQuery(soqlQuery, User.class); List<User> results = aQuery.getResultList(); Relationship Queries String aQS= "SELECT id, name, (SELECT id, Name FROM Parent_Childs__r)” + + “FROM Parent__c"; Query aQuery= em.createNativeQuery(aQS, Parent.class); List<SObject> results = aQuery.getResultList(); ArrayList<ChildEntity> childs = (ArrayList<Child>) results.get(0).getChilds();
  • 23. OAuth Authentication <filter> <filter-name>AuthFilter</filter-name> <filter-class>com.force.sdk.oauth.AuthFilter</filter-class> <init-param> <param-name>url</param-name> <param-value>URL or a ${Java system property} or ${environment variable}</param-value> </init-param> </filter> <filter-mapping> <filter-name>AuthFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
  • 24. OAuth Authentication Filter parameters securityContextStorageMethod secure-key-file storeUsername logoutFromDatabaseDotCom logoutUrl Spring Security Support
  • 25. Other Limits (DBDC, Force.com, SDK) Native connections Retrieving User Data Spring MVC Project Template Code Generation Plugin
  • 27. Hello world Maven 3.0 Get Force.com/Database.com instance. Open API access to user, get security token mvnarchetype:generate -DarchetypeGroupId=com.force.sdk -DarchetypeArtifactId=springmvc-archetype FORCE_FORCEDATABASE_URL=force://login.salesforce.com?user=test@ciklumjava.com^&password=mypassAndSS mvntomcat:run-war
  • 28. Hello world Add oAuth Add Entities files. Use Code Generation Plugin Perform SOQL/JPQL queries. Add/modify data using Transactions
  • 29. Founded in 2008, Initially PaaS for Ruby. Now supports Ruby, Node.js, Clojure, Python, and Scala. Since September 2011 supports Java.
  • 30. What do we need? Maven 3.0 JDK 1.6+ Heroku account Installed Herokuenv. (inc.Git, Foreman) Java application built on Maven.
  • 31. Next step Configure application using pom.xml Configure Procfileto declare how you want your application executed web: java $JAVA_OPTS -jar target/dependency/jetty-runner.jar --port $PORT target/*.war Run locally. “foreman start” “gitadd .” git commit -m “Are you sure???“ heroku create --stack cedar git push heroku master
  • 32. Heroku is awesome  Built-for-Deployment Applications Version Control is the Central Distribution Mechanism. No Need to Externalize Configuration From Your Code Deployment is a Highly Automated Pipeline Process How do Applications use JEE APIs Without a Container? Servlets and JSPs by Tomcat or Jetty. JSF and other rendering frameworks by Mojarra or MyFaces Mail services by SendGrid. JDBC to connect to HerokuPostgres service or Amazon RDS Hibernate or DataNucleus JPA to provide an ORM persistence 
  • 33. Heroku is awesome  Deployment “gitpush herokumaster” Start/Stop/Restart “herokurestart” Deployment of Changes Clustering (scaling) “heroku scale web=2 worker=4” Load-balancing Logging
  • 34. Something else about heroku Dyno??? Isolation by subvirtualization technologies One request at a time 512MB of memory Web/worker dynos. $0.05 per hour Payment Dynos Database Add-ons
  • 35. THANK YOU! Database.com SDK HEROKU for Java by Alex Kruk Skype: alexandrkruk Email: alex.kruk@parx.com

Editor's Notes

  1. Idea?No hardwareNo softwareNo technical team…..