SlideShare a Scribd company logo
Setting up a free Java e-commerce 
webshop 
(including cloud deployment) 
For GDG Fresno 
On 10/10/2014, Bitwise Industries, 
Presented by Csaba Toth
Background 
• Startup Weekend Fresno 
• Event starts: Friday 5:30 PM, Sept. 5, 2014 
• Event ends: Sunday 9:30 PM, Sept. 7, 2014 
• Clock started sometimes around 10 PM on 
Friday, I joined team Pro-Pack, a subscription 
based dietary supplement company 
• Clock effectively ended on 6 PM Sunday (final 
product pitch)
E-commerce websites 
• Saturday morning: searching for existing 
solutions 
– Java Pet Store Demo 
– JadaSite http://www.jadasite.com/ 
– KonaKart http://www.konakart.com/ 
– Apache OFBiz https://ofbiz.apache.org/ 
– Broadleaf http://www.broadleafcommerce.org/ 
– …
Java Pet Store Demo 
• Originally was an example for Java J2EE 
• Can be beneficial to study the source 
• Has payment module stub 
• Has shipping module stub 
• Demonstrates pure Java EE (no Spring 
Framework)
Java Enterprise Edition Platform 
• Extends the Java Standard Edition Platform 
– ORM (Object Relationship Mapping) in the form of JPA 
(Java Persistency API) 
– Distributed and multi-tier architectures 
– EJB support (Enterprise Java Beans) 
– JMS (Java Messaging Services) 
– CDI: Contexts and Dependency Injection 
– JSF: Java Server Faces for front-end UI 
– Web Services 
• Modularity 
• Many application servers which can host JEE apps
Java Enterprise Edition Platform 
Specification Java EE 6[6] Java EE 7[3] 
Servlet 3.0 3.1 
JavaServer Pages (JSP) 2.2 2.3 
Unified Expression Language (EL) 2.2 3.0 
Debugging Support for Other Languages (JSR-45) 1.0 1.0 
JavaServer Pages Standard Tag Library (JSTL) 1.2 1.2 
JavaServer Faces (JSF) 2.0 2.2 
Java API for RESTful Web Services (JAX-RS) 1.1 2.0 
Java API for WebSocket (WebSocket) n/a 1.0 
Java API for JSON Processing (JSON-P) n/a 1.0 
Common Annotations for the Java Platform (JSR-250) 1.1 1.2 
Enterprise JavaBeans (EJB) 3.1 Lite 3.2 Lite 
Java Transaction API (JTA) 1.1 1.2 
Java Persistence API (JPA) 2.0 2.1 
Bean Validation 1.0 1.1 
Managed Beans 1.0 1.0 
Interceptors 1.1 1.2 
Contexts and Dependency Injection for the Java EE Platform 1.0 1.1 
Dependency Injection for Java 1.0 1.0
Example 
Entity Bean
Example JSF
Three-tier/layer Architecture 
• Three-tier 
– Data 
– Services / Business logic 
– User Interface 
• For data access: ORM 
• For modular architecture and SOA: 
Dependency Injection 
• UI layer: often MVC technology, templating 
engines
Architecture 
UI client side 
UI server side (MVC controllers and models) 
EJBs Service Oriented Architecture 
ORM: JPA, Hibernate, iBatis, etc. 
DB 
DAO 
CDI 
config 
Configuration 
UI layer 
Services / 
Middle / 
Business 
layer 
Data 
access 
layer 
JDBC 
Data-base 
Backing Beans, DTOs
Common properties 
• Use of Java EE 
• Maven: de-facto standard nowadays (Gradle is 
coming up though) 
– Declarative make/build system 
– Suggest best-practice directory hierarchy (see later) 
– Testing 
– Deployment 
– Documentation generation 
– … everything!
Java Pet Store Demo 
• https://github.com/stephanrauh/agoncal-petstore- 
JSE7-ajax 
– Technologies : BabbageFaces, PrimeFaces 5+, 
Bootstrap, Angular JS, Java EE 6 
• https://github.com/agoncal/agoncal-application- 
petstore-ee6 
– JSF front-end, also Java EE 6 
• Application Servers : GlassFish 3.x, JBoss 7.x, 
TomEE 1.x
JadaSite 
• http://www.jadasite.com/ 
• http://www.jadasite.com/jada/web/fe/jadasite/English 
/content/Documentation 
• http://www.jadasite.com/jada/web/fe/jadasite/English 
/content/Features 
• Can be deployed on any J2EE application servers 
including Apache Tomcat, Sun GlassFish, BEA Weblogic, 
IBM Websphere, etc. 
• Compatible with MySQL, SQLServer, Oracle database 
server, etc. 
• Template based design, with template editor
KonaKart 
• http://www.konakart.com/ 
• All functionality is available through a set of APIs (POJO, 
JSON, SOAP, RMI, JavaScript) 
• JSP UI 
• http://www.konakart.com/product/features/shopping-experience 
• Apache Solr search 
• FedEx UPS and USPS shipping modules, dozen of 
payment modules 
• Demo: http://www.konakart.com/konakart/ 
• Some of the core libraries and middleware are not open 
source!
Apache OFBiz 
• https://ofbiz.apache.org/ 
• https://cwiki.apache.org/confluence/display/ 
OFBTECH/Framework+Introduction+Videos+a 
nd+Diagrams 
• https://cwiki.apache.org/confluence/downloa 
d/attachments/7045155/01MainDiagram.pdf? 
version=1&modificationDate=1267053493000 
&api=v2
Broadleaf 
• http://www.broadleafcommerce.org/ 
• Spring framework: provides dependency injection, 
modularization framework. Also supports security, MVC UI, 
etc. 
• UI: earlier versions GWT, newer version Spring MVC 
• Hibernate ORM layer, Oracle, MySQL, PostgreSQL, SQL 
Server are supported 
• Thymeleaf UI templating engine, integrated with Spring 
MVC 
• Apache Solr based search 
• Spring enabled REST Service endpoints 
• Demo site: http://demo.broadleafcommerce.org/
Broadleaf 
• Source codes: 
– The framework itself: 
• https://github.com/BroadleafCommerce/BroadleafCommerce 
– The demo site source code: 
• https://github.com/BroadleafCommerce/DemoSite 
– Pro-Pack site source code: 
• https://github.com/MrCsabaToth/ProPackSource 
• The demo sites have the broadleaf libraries as Maven 
dependencies 
• Disadvantage: demo sites cart checkout wasn’t mobile 
compatible right out of the box
Moving into the cloud 
• Amazon AWS: IaaS offering of Amazon 
– tiny instance (small CPU 1GB memory, 8GB HDD) 
– Ubuntu Server edition OS 
– Getting cryptographic key for simple SSH login 
– Configuring firewall and security policy 
– Installing DB (MySql) and App Server (Tomcat) 
• Main hurdles: 
– App couldn’t access DB because of privileges 
– JVM memory ran out: -Xmx was 128MB by default
Webshop 
• Domain name from go.co, startup-weekend 
promotion 
• http://pro-pack.co/ 
• Also AWS credit for startup weekend 
• New: the original VM went down, and I don’t 
control the domain name, so it’s point’s to a 
wrong IP 
– Current webshop: http://54.183.117.8:8080/propack
Questions 
• Thanks for attending!

More Related Content

What's hot

SenchaCon 2016: The Modern Toolchain - Ross Gerbasi
SenchaCon 2016: The Modern Toolchain - Ross Gerbasi   SenchaCon 2016: The Modern Toolchain - Ross Gerbasi
SenchaCon 2016: The Modern Toolchain - Ross Gerbasi
Sencha
 
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
Sencha
 
Scalable Integration with JBoss Fuse
Scalable Integration with JBoss FuseScalable Integration with JBoss Fuse
Scalable Integration with JBoss Fuse
Christina Lin
 
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško VukmanovićJavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Top 12 php frameworks 2016
Top 12 php frameworks 2016Top 12 php frameworks 2016
Top 12 php frameworks 2016
ValueCoders
 
Drupal performance optimization Best Practices
Drupal performance optimization Best PracticesDrupal performance optimization Best Practices
Drupal performance optimization Best Practices
Ratnesh kumar, CSM
 
Single page apps with drupal 7
Single page apps with drupal 7Single page apps with drupal 7
Single page apps with drupal 7
Chris Tankersley
 
Wordpress optimization
Wordpress optimizationWordpress optimization
Wordpress optimization
Almog Baku
 
Introdcution to Adobe CQ
Introdcution to Adobe CQIntrodcution to Adobe CQ
Introdcution to Adobe CQ
Rest West
 
Integrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charity
Integrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charityIntegrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charity
Integrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charity
Krzysztof Sobkowiak
 
Introduction to Cakephp
Introduction to CakephpIntroduction to Cakephp
Introduction to CakephpAditya Mooley
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Christian Posta
 
Melbourne User Group OAK and MongoDB
Melbourne User Group OAK and MongoDBMelbourne User Group OAK and MongoDB
Melbourne User Group OAK and MongoDB
Yuval Ararat
 
Earnings With Foss - Joebert
Earnings With Foss - JoebertEarnings With Foss - Joebert
Earnings With Foss - Joebertsoss
 
EECI 2013 - ExpressionEngine Performance & Optimization - Laying a Solid Foun...
EECI 2013 - ExpressionEngine Performance & Optimization - Laying a Solid Foun...EECI 2013 - ExpressionEngine Performance & Optimization - Laying a Solid Foun...
EECI 2013 - ExpressionEngine Performance & Optimization - Laying a Solid Foun...
Nexcess.net LLC
 
Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015
Alan Lok
 
Lenguajes y plataformas de desarrollo
Lenguajes y plataformas de desarrolloLenguajes y plataformas de desarrollo
Lenguajes y plataformas de desarrollo
Jose Luis Calvo Salanova
 
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on NginxEasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
rtCamp
 
Front-end build tools - Webpack
Front-end build tools - WebpackFront-end build tools - Webpack
Front-end build tools - Webpack
Razvan Rosu
 
Microsoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud ComputingMicrosoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud Computing
Josh Holmes
 

What's hot (20)

SenchaCon 2016: The Modern Toolchain - Ross Gerbasi
SenchaCon 2016: The Modern Toolchain - Ross Gerbasi   SenchaCon 2016: The Modern Toolchain - Ross Gerbasi
SenchaCon 2016: The Modern Toolchain - Ross Gerbasi
 
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...
 
Scalable Integration with JBoss Fuse
Scalable Integration with JBoss FuseScalable Integration with JBoss Fuse
Scalable Integration with JBoss Fuse
 
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško VukmanovićJavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
JavaCro'14 - WebLogic-GlassFish-JaaS Strategy and Roadmap – Duško Vukmanović
 
Top 12 php frameworks 2016
Top 12 php frameworks 2016Top 12 php frameworks 2016
Top 12 php frameworks 2016
 
Drupal performance optimization Best Practices
Drupal performance optimization Best PracticesDrupal performance optimization Best Practices
Drupal performance optimization Best Practices
 
Single page apps with drupal 7
Single page apps with drupal 7Single page apps with drupal 7
Single page apps with drupal 7
 
Wordpress optimization
Wordpress optimizationWordpress optimization
Wordpress optimization
 
Introdcution to Adobe CQ
Introdcution to Adobe CQIntrodcution to Adobe CQ
Introdcution to Adobe CQ
 
Integrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charity
Integrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charityIntegrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charity
Integrate (Yourself) with the Apache Software Foundation - 33rd Degree 4charity
 
Introduction to Cakephp
Introduction to CakephpIntroduction to Cakephp
Introduction to Cakephp
 
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShiftReal-world #microservices with Apache Camel, Fabric8, and OpenShift
Real-world #microservices with Apache Camel, Fabric8, and OpenShift
 
Melbourne User Group OAK and MongoDB
Melbourne User Group OAK and MongoDBMelbourne User Group OAK and MongoDB
Melbourne User Group OAK and MongoDB
 
Earnings With Foss - Joebert
Earnings With Foss - JoebertEarnings With Foss - Joebert
Earnings With Foss - Joebert
 
EECI 2013 - ExpressionEngine Performance & Optimization - Laying a Solid Foun...
EECI 2013 - ExpressionEngine Performance & Optimization - Laying a Solid Foun...EECI 2013 - ExpressionEngine Performance & Optimization - Laying a Solid Foun...
EECI 2013 - ExpressionEngine Performance & Optimization - Laying a Solid Foun...
 
Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015
 
Lenguajes y plataformas de desarrollo
Lenguajes y plataformas de desarrolloLenguajes y plataformas de desarrollo
Lenguajes y plataformas de desarrollo
 
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on NginxEasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
 
Front-end build tools - Webpack
Front-end build tools - WebpackFront-end build tools - Webpack
Front-end build tools - Webpack
 
Microsoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud ComputingMicrosoft/Zend Webcast on Cloud Computing
Microsoft/Zend Webcast on Cloud Computing
 

Viewers also liked

Online Shopping Website Project with Java & Primefaces
Online Shopping Website Project with Java & PrimefacesOnline Shopping Website Project with Java & Primefaces
Online Shopping Website Project with Java & Primefaces
T C
 
Online Shopping Full Project Presentation (20 slides)
Online Shopping Full Project Presentation (20 slides)Online Shopping Full Project Presentation (20 slides)
Online Shopping Full Project Presentation (20 slides)
Krishna Mohan Shakya
 
Temparate Broadleaf Deciduous Forest
Temparate Broadleaf Deciduous ForestTemparate Broadleaf Deciduous Forest
Temparate Broadleaf Deciduous Forest
Alvin Borromeo
 
Open Admin
Open AdminOpen Admin
Open Admin
bpolster
 
Dynamically Generate a CRUD Admin Panel with Java Annotations
Dynamically Generate a CRUD Admin Panel with Java AnnotationsDynamically Generate a CRUD Admin Panel with Java Annotations
Dynamically Generate a CRUD Admin Panel with Java Annotations
Broadleaf Commerce
 
JUG Nantes - Telosys Tools - Avril 2014
JUG Nantes - Telosys Tools - Avril 2014 JUG Nantes - Telosys Tools - Avril 2014
JUG Nantes - Telosys Tools - Avril 2014
telosys
 
Shootout! template engines on the jvm
Shootout! template engines on the jvmShootout! template engines on the jvm
Shootout! template engines on the jvmNLJUG
 
GUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EEGUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EE
Rodrigo Cândido da Silva
 
QCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EEQCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EE
Rodrigo Cândido da Silva
 
E-commerce Project Development
E-commerce Project DevelopmentE-commerce Project Development
E-commerce Project Development
Amin Chowdhury
 
How Global Trends are Shaping the Retail Technology of the Future
How Global Trends are Shaping the Retail Technology of the FutureHow Global Trends are Shaping the Retail Technology of the Future
How Global Trends are Shaping the Retail Technology of the Future
National Retail Federation
 
Testdrive AngularJS with Spring 4
Testdrive AngularJS with Spring 4Testdrive AngularJS with Spring 4
Testdrive AngularJS with Spring 4
Oliver Wahlen
 
E commerce ( system analysis ) chapter 4
E commerce ( system analysis ) chapter 4E commerce ( system analysis ) chapter 4
E commerce ( system analysis ) chapter 4
Qamar Farooq
 
INTERSPORT e-Commerce with Divante
INTERSPORT e-Commerce with DivanteINTERSPORT e-Commerce with Divante
INTERSPORT e-Commerce with Divante
Divante
 
E-Commerce Technology
E-Commerce TechnologyE-Commerce Technology
E-Commerce Technology
Divante
 
Magento implementation - by Divante.co
Magento implementation - by Divante.coMagento implementation - by Divante.co
Magento implementation - by Divante.co
Divante
 
E-Commerce Case Studies
E-Commerce Case StudiesE-Commerce Case Studies
E-Commerce Case Studies
Divante
 
Caso de estudio - Optimizacion de Google Adwords
Caso de estudio - Optimizacion de Google AdwordsCaso de estudio - Optimizacion de Google Adwords
Caso de estudio - Optimizacion de Google Adwords
Sugerendo
 
Desarrollo de extensión en Magento
Desarrollo de extensión en MagentoDesarrollo de extensión en Magento
Desarrollo de extensión en Magento
Sugerendo
 
B2B eCommerce, estado, desafíos y oportunidades
B2B eCommerce, estado, desafíos y oportunidadesB2B eCommerce, estado, desafíos y oportunidades
B2B eCommerce, estado, desafíos y oportunidades
Sugerendo
 

Viewers also liked (20)

Online Shopping Website Project with Java & Primefaces
Online Shopping Website Project with Java & PrimefacesOnline Shopping Website Project with Java & Primefaces
Online Shopping Website Project with Java & Primefaces
 
Online Shopping Full Project Presentation (20 slides)
Online Shopping Full Project Presentation (20 slides)Online Shopping Full Project Presentation (20 slides)
Online Shopping Full Project Presentation (20 slides)
 
Temparate Broadleaf Deciduous Forest
Temparate Broadleaf Deciduous ForestTemparate Broadleaf Deciduous Forest
Temparate Broadleaf Deciduous Forest
 
Open Admin
Open AdminOpen Admin
Open Admin
 
Dynamically Generate a CRUD Admin Panel with Java Annotations
Dynamically Generate a CRUD Admin Panel with Java AnnotationsDynamically Generate a CRUD Admin Panel with Java Annotations
Dynamically Generate a CRUD Admin Panel with Java Annotations
 
JUG Nantes - Telosys Tools - Avril 2014
JUG Nantes - Telosys Tools - Avril 2014 JUG Nantes - Telosys Tools - Avril 2014
JUG Nantes - Telosys Tools - Avril 2014
 
Shootout! template engines on the jvm
Shootout! template engines on the jvmShootout! template engines on the jvm
Shootout! template engines on the jvm
 
GUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EEGUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EE
 
QCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EEQCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EE
 
E-commerce Project Development
E-commerce Project DevelopmentE-commerce Project Development
E-commerce Project Development
 
How Global Trends are Shaping the Retail Technology of the Future
How Global Trends are Shaping the Retail Technology of the FutureHow Global Trends are Shaping the Retail Technology of the Future
How Global Trends are Shaping the Retail Technology of the Future
 
Testdrive AngularJS with Spring 4
Testdrive AngularJS with Spring 4Testdrive AngularJS with Spring 4
Testdrive AngularJS with Spring 4
 
E commerce ( system analysis ) chapter 4
E commerce ( system analysis ) chapter 4E commerce ( system analysis ) chapter 4
E commerce ( system analysis ) chapter 4
 
INTERSPORT e-Commerce with Divante
INTERSPORT e-Commerce with DivanteINTERSPORT e-Commerce with Divante
INTERSPORT e-Commerce with Divante
 
E-Commerce Technology
E-Commerce TechnologyE-Commerce Technology
E-Commerce Technology
 
Magento implementation - by Divante.co
Magento implementation - by Divante.coMagento implementation - by Divante.co
Magento implementation - by Divante.co
 
E-Commerce Case Studies
E-Commerce Case StudiesE-Commerce Case Studies
E-Commerce Case Studies
 
Caso de estudio - Optimizacion de Google Adwords
Caso de estudio - Optimizacion de Google AdwordsCaso de estudio - Optimizacion de Google Adwords
Caso de estudio - Optimizacion de Google Adwords
 
Desarrollo de extensión en Magento
Desarrollo de extensión en MagentoDesarrollo de extensión en Magento
Desarrollo de extensión en Magento
 
B2B eCommerce, estado, desafíos y oportunidades
B2B eCommerce, estado, desafíos y oportunidadesB2B eCommerce, estado, desafíos y oportunidades
B2B eCommerce, estado, desafíos y oportunidades
 

Similar to Setting up a free open source java e-commerce website

Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014
Arun Gupta
 
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGJava EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Arun Gupta
 
01 overview-and-setup
01 overview-and-setup01 overview-and-setup
01 overview-and-setupsnopteck
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionJava EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Arun Gupta
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerJava EE 6 = Less Code + More Power
Java EE 6 = Less Code + More Power
Arun Gupta
 
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Skills Matter
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Arun Gupta
 
01 java intro
01 java intro01 java intro
01 java intro
Deepal Shah
 
Java EE 6 & GlassFish v3: Paving path for the future
Java EE 6 & GlassFish v3: Paving path for the futureJava EE 6 & GlassFish v3: Paving path for the future
Java EE 6 & GlassFish v3: Paving path for the future
Arun Gupta
 
Advance java1.1
Advance java1.1Advance java1.1
Advance java1.1
Prince Soni
 
Basic method for Java EE Web Profile
Basic method for Java EE Web ProfileBasic method for Java EE Web Profile
Basic method for Java EE Web Profile
Kenji HASUNUMA
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Arun Gupta
 
The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of Java
Fu Cheng
 
WebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsWebSockets in Enterprise Applications
WebSockets in Enterprise Applications
Pavel Bucek
 
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected BusinessWSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected BusinessWSO2
 
OSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P KriensOSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P Kriens
mfrancis
 

Similar to Setting up a free open source java e-commerce website (20)

Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014Java EE 7 Soup to Nuts at JavaOne 2014
Java EE 7 Soup to Nuts at JavaOne 2014
 
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUGJava EE 6 & GlassFish = Less Code + More Power at CEJUG
Java EE 6 & GlassFish = Less Code + More Power at CEJUG
 
01 overview-and-setup
01 overview-and-setup01 overview-and-setup
01 overview-and-setup
 
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnitionJava EE 6 & GlassFish = Less Code + More Power @ DevIgnition
Java EE 6 & GlassFish = Less Code + More Power @ DevIgnition
 
Java EE 6 = Less Code + More Power
Java EE 6 = Less Code + More PowerJava EE 6 = Less Code + More Power
Java EE 6 = Less Code + More Power
 
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3 Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
Arun Gupta: London Java Community: Java EE 6 and GlassFish 3
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ JAX London ...
 
01 java intro
01 java intro01 java intro
01 java intro
 
Java EE 6 & GlassFish v3: Paving path for the future
Java EE 6 & GlassFish v3: Paving path for the futureJava EE 6 & GlassFish v3: Paving path for the future
Java EE 6 & GlassFish v3: Paving path for the future
 
Advance java1.1
Advance java1.1Advance java1.1
Advance java1.1
 
Basic method for Java EE Web Profile
Basic method for Java EE Web ProfileBasic method for Java EE Web Profile
Basic method for Java EE Web Profile
 
JSF2
JSF2JSF2
JSF2
 
Java platform
Java platformJava platform
Java platform
 
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
Java EE 6 & GlassFish 3: Light-weight, Extensible, and Powerful @ Silicon Val...
 
The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of Java
 
Jsp Comparison
 Jsp Comparison Jsp Comparison
Jsp Comparison
 
WebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsWebSockets in Enterprise Applications
WebSockets in Enterprise Applications
 
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected BusinessWSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
WSO2Con Asia 2014 - WSO2 AppDev Platform for the Connected Business
 
WSO2 AppDev platform
WSO2 AppDev platformWSO2 AppDev platform
WSO2 AppDev platform
 
OSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P KriensOSGi enRoute Unveiled - P Kriens
OSGi enRoute Unveiled - P Kriens
 

More from Csaba Toth

Git, GitHub gh-pages and static websites
Git, GitHub gh-pages and static websitesGit, GitHub gh-pages and static websites
Git, GitHub gh-pages and static websites
Csaba Toth
 
Eclipse RCP Demo
Eclipse RCP DemoEclipse RCP Demo
Eclipse RCP Demo
Csaba Toth
 
The Health of Networks
The Health of NetworksThe Health of Networks
The Health of Networks
Csaba Toth
 
Introduction to Google BigQuery
Introduction to Google BigQueryIntroduction to Google BigQuery
Introduction to Google BigQuery
Csaba Toth
 
Column Stores and Google BigQuery
Column Stores and Google BigQueryColumn Stores and Google BigQuery
Column Stores and Google BigQuery
Csaba Toth
 
Windows 10 preview
Windows 10 previewWindows 10 preview
Windows 10 preview
Csaba Toth
 
Developing Multi Platform Games using PlayN and TriplePlay Framework
Developing Multi Platform Games using PlayN and TriplePlay FrameworkDeveloping Multi Platform Games using PlayN and TriplePlay Framework
Developing Multi Platform Games using PlayN and TriplePlay Framework
Csaba Toth
 
Trends and future of java
Trends and future of javaTrends and future of java
Trends and future of java
Csaba Toth
 
Google Compute Engine
Google Compute EngineGoogle Compute Engine
Google Compute Engine
Csaba Toth
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
Csaba Toth
 
CCJUG inaugural meeting and Adopt a JSR
CCJUG inaugural meeting and Adopt a JSRCCJUG inaugural meeting and Adopt a JSR
CCJUG inaugural meeting and Adopt a JSR
Csaba Toth
 
Google Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App EngineGoogle Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App Engine
Csaba Toth
 
Hive and Pig for .NET User Group
Hive and Pig for .NET User GroupHive and Pig for .NET User Group
Hive and Pig for .NET User Group
Csaba Toth
 
Hadoop and Mapreduce for .NET User Group
Hadoop and Mapreduce for .NET User GroupHadoop and Mapreduce for .NET User Group
Hadoop and Mapreduce for .NET User GroupCsaba Toth
 
Introduction to Hadoop and MapReduce
Introduction to Hadoop and MapReduceIntroduction to Hadoop and MapReduce
Introduction to Hadoop and MapReduce
Csaba Toth
 
Introduction into windows 8 application development
Introduction into windows 8 application developmentIntroduction into windows 8 application development
Introduction into windows 8 application development
Csaba Toth
 
Ups and downs of enterprise Java app in a research setting
Ups and downs of enterprise Java app in a research settingUps and downs of enterprise Java app in a research setting
Ups and downs of enterprise Java app in a research setting
Csaba Toth
 
Adopt a JSR NJUG edition
Adopt a JSR NJUG editionAdopt a JSR NJUG edition
Adopt a JSR NJUG edition
Csaba Toth
 

More from Csaba Toth (18)

Git, GitHub gh-pages and static websites
Git, GitHub gh-pages and static websitesGit, GitHub gh-pages and static websites
Git, GitHub gh-pages and static websites
 
Eclipse RCP Demo
Eclipse RCP DemoEclipse RCP Demo
Eclipse RCP Demo
 
The Health of Networks
The Health of NetworksThe Health of Networks
The Health of Networks
 
Introduction to Google BigQuery
Introduction to Google BigQueryIntroduction to Google BigQuery
Introduction to Google BigQuery
 
Column Stores and Google BigQuery
Column Stores and Google BigQueryColumn Stores and Google BigQuery
Column Stores and Google BigQuery
 
Windows 10 preview
Windows 10 previewWindows 10 preview
Windows 10 preview
 
Developing Multi Platform Games using PlayN and TriplePlay Framework
Developing Multi Platform Games using PlayN and TriplePlay FrameworkDeveloping Multi Platform Games using PlayN and TriplePlay Framework
Developing Multi Platform Games using PlayN and TriplePlay Framework
 
Trends and future of java
Trends and future of javaTrends and future of java
Trends and future of java
 
Google Compute Engine
Google Compute EngineGoogle Compute Engine
Google Compute Engine
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
CCJUG inaugural meeting and Adopt a JSR
CCJUG inaugural meeting and Adopt a JSRCCJUG inaugural meeting and Adopt a JSR
CCJUG inaugural meeting and Adopt a JSR
 
Google Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App EngineGoogle Cloud Platform, Compute Engine, and App Engine
Google Cloud Platform, Compute Engine, and App Engine
 
Hive and Pig for .NET User Group
Hive and Pig for .NET User GroupHive and Pig for .NET User Group
Hive and Pig for .NET User Group
 
Hadoop and Mapreduce for .NET User Group
Hadoop and Mapreduce for .NET User GroupHadoop and Mapreduce for .NET User Group
Hadoop and Mapreduce for .NET User Group
 
Introduction to Hadoop and MapReduce
Introduction to Hadoop and MapReduceIntroduction to Hadoop and MapReduce
Introduction to Hadoop and MapReduce
 
Introduction into windows 8 application development
Introduction into windows 8 application developmentIntroduction into windows 8 application development
Introduction into windows 8 application development
 
Ups and downs of enterprise Java app in a research setting
Ups and downs of enterprise Java app in a research settingUps and downs of enterprise Java app in a research setting
Ups and downs of enterprise Java app in a research setting
 
Adopt a JSR NJUG edition
Adopt a JSR NJUG editionAdopt a JSR NJUG edition
Adopt a JSR NJUG edition
 

Recently uploaded

Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
vrstrong314
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 

Recently uploaded (20)

Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 

Setting up a free open source java e-commerce website

  • 1. Setting up a free Java e-commerce webshop (including cloud deployment) For GDG Fresno On 10/10/2014, Bitwise Industries, Presented by Csaba Toth
  • 2. Background • Startup Weekend Fresno • Event starts: Friday 5:30 PM, Sept. 5, 2014 • Event ends: Sunday 9:30 PM, Sept. 7, 2014 • Clock started sometimes around 10 PM on Friday, I joined team Pro-Pack, a subscription based dietary supplement company • Clock effectively ended on 6 PM Sunday (final product pitch)
  • 3. E-commerce websites • Saturday morning: searching for existing solutions – Java Pet Store Demo – JadaSite http://www.jadasite.com/ – KonaKart http://www.konakart.com/ – Apache OFBiz https://ofbiz.apache.org/ – Broadleaf http://www.broadleafcommerce.org/ – …
  • 4. Java Pet Store Demo • Originally was an example for Java J2EE • Can be beneficial to study the source • Has payment module stub • Has shipping module stub • Demonstrates pure Java EE (no Spring Framework)
  • 5. Java Enterprise Edition Platform • Extends the Java Standard Edition Platform – ORM (Object Relationship Mapping) in the form of JPA (Java Persistency API) – Distributed and multi-tier architectures – EJB support (Enterprise Java Beans) – JMS (Java Messaging Services) – CDI: Contexts and Dependency Injection – JSF: Java Server Faces for front-end UI – Web Services • Modularity • Many application servers which can host JEE apps
  • 6. Java Enterprise Edition Platform Specification Java EE 6[6] Java EE 7[3] Servlet 3.0 3.1 JavaServer Pages (JSP) 2.2 2.3 Unified Expression Language (EL) 2.2 3.0 Debugging Support for Other Languages (JSR-45) 1.0 1.0 JavaServer Pages Standard Tag Library (JSTL) 1.2 1.2 JavaServer Faces (JSF) 2.0 2.2 Java API for RESTful Web Services (JAX-RS) 1.1 2.0 Java API for WebSocket (WebSocket) n/a 1.0 Java API for JSON Processing (JSON-P) n/a 1.0 Common Annotations for the Java Platform (JSR-250) 1.1 1.2 Enterprise JavaBeans (EJB) 3.1 Lite 3.2 Lite Java Transaction API (JTA) 1.1 1.2 Java Persistence API (JPA) 2.0 2.1 Bean Validation 1.0 1.1 Managed Beans 1.0 1.0 Interceptors 1.1 1.2 Contexts and Dependency Injection for the Java EE Platform 1.0 1.1 Dependency Injection for Java 1.0 1.0
  • 9. Three-tier/layer Architecture • Three-tier – Data – Services / Business logic – User Interface • For data access: ORM • For modular architecture and SOA: Dependency Injection • UI layer: often MVC technology, templating engines
  • 10. Architecture UI client side UI server side (MVC controllers and models) EJBs Service Oriented Architecture ORM: JPA, Hibernate, iBatis, etc. DB DAO CDI config Configuration UI layer Services / Middle / Business layer Data access layer JDBC Data-base Backing Beans, DTOs
  • 11. Common properties • Use of Java EE • Maven: de-facto standard nowadays (Gradle is coming up though) – Declarative make/build system – Suggest best-practice directory hierarchy (see later) – Testing – Deployment – Documentation generation – … everything!
  • 12. Java Pet Store Demo • https://github.com/stephanrauh/agoncal-petstore- JSE7-ajax – Technologies : BabbageFaces, PrimeFaces 5+, Bootstrap, Angular JS, Java EE 6 • https://github.com/agoncal/agoncal-application- petstore-ee6 – JSF front-end, also Java EE 6 • Application Servers : GlassFish 3.x, JBoss 7.x, TomEE 1.x
  • 13. JadaSite • http://www.jadasite.com/ • http://www.jadasite.com/jada/web/fe/jadasite/English /content/Documentation • http://www.jadasite.com/jada/web/fe/jadasite/English /content/Features • Can be deployed on any J2EE application servers including Apache Tomcat, Sun GlassFish, BEA Weblogic, IBM Websphere, etc. • Compatible with MySQL, SQLServer, Oracle database server, etc. • Template based design, with template editor
  • 14. KonaKart • http://www.konakart.com/ • All functionality is available through a set of APIs (POJO, JSON, SOAP, RMI, JavaScript) • JSP UI • http://www.konakart.com/product/features/shopping-experience • Apache Solr search • FedEx UPS and USPS shipping modules, dozen of payment modules • Demo: http://www.konakart.com/konakart/ • Some of the core libraries and middleware are not open source!
  • 15. Apache OFBiz • https://ofbiz.apache.org/ • https://cwiki.apache.org/confluence/display/ OFBTECH/Framework+Introduction+Videos+a nd+Diagrams • https://cwiki.apache.org/confluence/downloa d/attachments/7045155/01MainDiagram.pdf? version=1&modificationDate=1267053493000 &api=v2
  • 16. Broadleaf • http://www.broadleafcommerce.org/ • Spring framework: provides dependency injection, modularization framework. Also supports security, MVC UI, etc. • UI: earlier versions GWT, newer version Spring MVC • Hibernate ORM layer, Oracle, MySQL, PostgreSQL, SQL Server are supported • Thymeleaf UI templating engine, integrated with Spring MVC • Apache Solr based search • Spring enabled REST Service endpoints • Demo site: http://demo.broadleafcommerce.org/
  • 17. Broadleaf • Source codes: – The framework itself: • https://github.com/BroadleafCommerce/BroadleafCommerce – The demo site source code: • https://github.com/BroadleafCommerce/DemoSite – Pro-Pack site source code: • https://github.com/MrCsabaToth/ProPackSource • The demo sites have the broadleaf libraries as Maven dependencies • Disadvantage: demo sites cart checkout wasn’t mobile compatible right out of the box
  • 18. Moving into the cloud • Amazon AWS: IaaS offering of Amazon – tiny instance (small CPU 1GB memory, 8GB HDD) – Ubuntu Server edition OS – Getting cryptographic key for simple SSH login – Configuring firewall and security policy – Installing DB (MySql) and App Server (Tomcat) • Main hurdles: – App couldn’t access DB because of privileges – JVM memory ran out: -Xmx was 128MB by default
  • 19. Webshop • Domain name from go.co, startup-weekend promotion • http://pro-pack.co/ • Also AWS credit for startup weekend • New: the original VM went down, and I don’t control the domain name, so it’s point’s to a wrong IP – Current webshop: http://54.183.117.8:8080/propack
  • 20. Questions • Thanks for attending!