SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
For more information about Luxoft, visit
www.luxoft.com
www.luxoft.com/travel-aviation/
case study
Ecommerce Platform Development
14.09.2012
uu Client: A leading North American provider of eCommerce software
platform
uu Industry: Ecommerce Software
Technologies Utilized
uu Java
uu Open JPA
uu Eclipse RCP
uu Spring Framework
Business Challenge
Client’s product is a unique eCommerce platform optimized for rapid roll-out of the
derived ecommerce solutions. The platform’s main features are:
uu Open Source
uu Easy integration with 3rd parties components
uu Web Services-based
uu Flexible architecture
A new release date for the client’s software was approaching, while a number
of serious challenges had surfaced, including certain issues with the existing
architecture that affected performance and scalability. JavaScript-based
eCommerce management software application encountered serious maintenance
and new feature development issues, which degraded the overall performance. In
order to address these challenges, the client decided to redesign the architecture
in their upcoming release. The web interface of eCommerce management
application would be redesigned, using the Eclipse Rich Client Platform, and Open
JPA for persistence of objects to database would be used.
Faced with a tight release schedule, the client was looking for a partner with
the domain knowledge, technology expertise and a good track record to prove
it. Luxoft topped the candidates list, because of their expertise in eCommerce
software, impressive portfolio of accomplishments, and a combination of the
near- and off-shore locations. Following the successful completion of a small pilot
project, Luxoft team was selected for the project.
02Luxoft - Case Study
Solution
Luxoft established a development center consisted of nearshore and offshore
resources. Communication procedures were established to ensure the effective
teamwork between both offices and the development model was tailored to meet
the client’s agile development process.
The client had four teams working on the project and Luxoft team was one
of them. The client used an agile development process including daily Scrum
meeting and 3-week development iteration. The Luxoft team adopted the client’s
development process, using a common code base and a bug tracking system,
the same duration development iteration, iteration planning and the daily status
updates.
03Luxoft - Case Study
Core Architecture
When in the middle of the project, more resources were suddenly needed, because of
a dramatic scope change, Luxoft was able to quickly accommodate and set up
a second offshore team.The same development process was used with the nearshore
team helping to coordinate tasks and activities between clients and the offshore teams.
During the course of the project, it was also decided to migrate from Hibernate
platform to Apache Open JPA ORM framework, which was considered to be more
robust, while implementing the new Sun JPA 1.1 specification. Such key features as
annotations allow flexible and easy development using Apache JPA.
The eCommerse platform’s architects focused on achieving maximum flexibility
and maintainability. Therefore the bulk of their efforts were directed toward
reworking the whole build process, setting the framework and searching
mechanisms. While the results of these efforts are not directly visible to an enduser,
they allow achieving the main goal - to make the integration of the eCommerce
platform fast and easy for any type of business.
DATABASE
ORACLE
Microsoft SQL SERVER
MySQL
SYSTEM
SERVICES
SCHEDULING
CACHING
TRANSACTION
SECURITY
LOGGING
VALLDATION
XML PARSING
RCP UPDATE SITE
BIRT REPORTING
THIRD-PARTY
ENTERPRISE APPLICATIONS
MESSAGING
PAYMENT
PROCESSING
FULFILLMENT / SCM
ERP
CRM
CMS
TAX MANNAGEMENT
REPORTING
WEB SERVICES
APPLICATION
JAX-WS (SERVLET)
PUBLIC JAVA API
API BRIDGE
SEARCH SERVER
SOLR SEARCH ENGINE
STOREFRONT
VELOCITY / SPRING
MVC (WEB)
DWR (AJAX SERVLET)
COMMERCE
MANAGER SERVER
WEB SERVICES CLIENTS
(JAVA, .NET, PHP, ECT)
WEB BROWSER COMMERCE MANAGER CLIENT
(ECLIPSE RCP, SWT / JFace)
COMMERCE
MANAGER SERVICES
EMAIL SERVICES
QUARTZ JOB
SCHEDULER
SECURE
HTTP REQUEST
<<REMOTE>>
HTTP REQUEST
<<REMOTE>>
DOMIAN
OBJECTS
CORE ENGINE
SERVICES
(BUSINESS SERVICES,
WEB SERVICES,
AJAX SERVICES)
DATA
ACCES
OPEN JPA
(OBJECT / RELATIONAL
MAPPING & PRESISTENCE)
SOAP / XML
<<REMOTE>>
04Luxoft - Case Study
Service Layer
The service layer provides services to various consumers in the web layer as well as
web service consumers. There are several types of services that serve different roles
in the application:
uu Persistence Services provide the capability to save and retrieve domain objects
uu Domain services typically implement the logic for a use case that is inappropriate
for encapsulation by any one domain object
uu Integration services implement functionality that is invoked by domain
services but considered outside the domain of an ecommerce application
and typically integrate with other systems or technologies (EmailService,
CustomerIndexBuildService, BirtReportService)
uu System services handle various concerns that cut across many parts of the
application
uu Web services expose service layer functionality to web services clients. These
services are ultimately delivered to external systems via SOAP.
Domain Layer
The Domain layer contains an object model of the ecommerce domain. This object
model consists of classes that model real-world entities such as customers and
products. The behavior and relationships of these classes should be a reflection of
the real-world entities.
Data Access Architecture
The data access layer is responsible for saving and retrieving data from persistent
storage. The majority of persistent data at the client’s site is stored in the database
using the OpenJPA implementation of the Java Persistence API (JPA). A small
number of configuration files are persisted directly to the file system using XML
and properties files. Objects that are aware of persistence implementation details
such as file formats or whether data exists in a database are called Data Access
Objects (DAO).
Storefront
The architecture of the Storefront component of the eCommerce platform
software is comprised of the following technologies:
uu CSS - Cascading Style Sheets provide formatting and positioning for elements
across all HTML pages
uu Javascript - Javascript is used to create rich user interfaces in the browser
uu Velocity - A template processing technology that embeds information from Java
objects within HTML pages
uu Spring MVC - A web framework used to separate Velocity templates in the view
layer from the underlying domain model and services
In addition, the Storefront uses services provided by the Core component of the
eCommerce platform.
eCommerce Management Software
The eCommerce management software is comprised of the following components:
uu Eclipse RCP-based desktop client - rich client application is distributed to end
users’PCs and makes connections to other system components to allow users to
administer online stores
uu Mid-tier application server - web-application that has the following responsibilities:
05Luxoft - Case Study
—— Executes scheduled batch jobs for both the Storefronts and Commerce
Manager clients
—— Hosts web services for integration with external systems
—— Provides centralized file storage for digital assets such as product images that
are manipulated by Commerce Manager client users and synched across all
Storefronts
—— Provides the following centralized services to RCP desktop clients
—— Payment processing
—— Email sending
—— User authentication
—— Central file store CRUD operations
—— Hosting the Solr server for data indexing
—— Hosting the RCP Client update site
uu Database
Rules Engine
At the core of the promotion rule system is the JBoss Rules (formerly Drools
Rules) library. JBoss Rules is a third-party rules engine that uses a fast algorithm
to evaluate rule conditions and execute their actions. The input to the JBoss Rules
engine is a set of objects used in the condition evaluation and action execution
as well as the set of rules, which we express as text in the proprietary Drools
language.
Web Sevices
Web Services is one of the methods that remote clients can use to access the
client’s core application. The Web Services API is a well defined, SOAP-based layer
that is intended to provide integration functionality for the client’s customers. It is
not intended to be a public interface.
DATA CENTER
FIREWALLS
INDI
HTTP
HTTP
HTTP (SOAP)
HTTP
HTTP (SOAP)
INDI
HTTP
FILE
UPLOAD
(FTP)
DATA CENTER
FIREWALLS
WWW STORE CUSTOMERS
(IE, FIREFOX, SAFARI ECT.)
WWW
3rd PARTY APPLICATIONS
(E.G.ERP, CRM, CMS)
STOREFRONT
APP SERVER 1
DB SERVER
SPRING REMOTING
(HTTP)
FILE UPLOAD (FTP)
SPRING REMOTING
(HTTP)
STOREFRONT
APP SERVER 2
STOREFRONT
APP SERVER 3
DATA CENTER
STOREFRONT
CLUSTER
STORE CALL CENTER
CALL CENTER STAFF
 MERCHANDISERS
 SITEADMINISTRATORS
 CATALOG MANAGERS
 FINANCE ECT.
COMMERCE SERVER
WEB SERVICES API
SCHEDULED JOBS
CENTRAL FILE STORE
SEARCH SERVER
RCP DISTRIBUTION
EMAIL SERVER
STORE HEAD OFFICE
06Luxoft - Case Study
Benefits
uu Partnering with Luxoft enabled the successful product launch on time and on
budget, while meeting all internal milestones
uu The software release contained radical improvements in performance, scalability
and maintenance
uu The nearshore/offshore team model proved its efficiency and relieved the client’s
own development team from having to supervise the offshore teams, focusing on
their own development goals instead
uu Luxoft engineers demonstrated proactive approach by suggesting a number
of improvements to the product design, instead of simply following the listed
requirements
uu Luxoft showed an unwavering commitment to meeting the client’s need, ensuring
the client’s peace of mind during the entire project
About luxoft
Luxoft, a principal subsidiary of IBS Group, is a provider of advanced
application and software engineering outsourcing services for global and
regional enterprises. Luxoft builds partnerships with its clients, such as
Boeing, IBM, Deutsche Bank, UBS, Harman, Avaya, Alstom, and Sabre, based
on the culture of engineering excellence, innovation, and deep domain
expertise. Luxoft offers international delivery capability through its network
of state-of-the-art delivery centers in North America, Eastern Europe, and
Asia. Luxoft`s customers benefit from the right mix of technology skills,
industry knowledge, proprietary processes and methodologies, and a
choice of engagement models.
For more information about Luxoft, visit
www.luxoft.com
www.luxoft.com/travel-aviation/
© 2012 Luxoft

Weitere ähnliche Inhalte

Mehr von Luxoft

Case study rapid growth compels leading antivirus software company software l...
Case study rapid growth compels leading antivirus software company software l...Case study rapid growth compels leading antivirus software company software l...
Case study rapid growth compels leading antivirus software company software l...Luxoft
 
Case study luxoft helps leading av solution provider media luxoft for polymedia
Case study luxoft helps leading av solution provider media luxoft for polymediaCase study luxoft helps leading av solution provider media luxoft for polymedia
Case study luxoft helps leading av solution provider media luxoft for polymediaLuxoft
 
Case study luxoft fx position keeping banking luxoft for top3largest bank in ...
Case study luxoft fx position keeping banking luxoft for top3largest bank in ...Case study luxoft fx position keeping banking luxoft for top3largest bank in ...
Case study luxoft fx position keeping banking luxoft for top3largest bank in ...Luxoft
 
Case study commodity value chain banking luxoft for one of the largest global...
Case study commodity value chain banking luxoft for one of the largest global...Case study commodity value chain banking luxoft for one of the largest global...
Case study commodity value chain banking luxoft for one of the largest global...Luxoft
 
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
 
Brochure of luxoft aerospace expertise
Brochure of luxoft aerospace expertiseBrochure of luxoft aerospace expertise
Brochure of luxoft aerospace expertiseLuxoft
 
Brochure of Luxoft telecom solutions by Luxoft software development
Brochure of Luxoft telecom solutions by Luxoft software developmentBrochure of Luxoft telecom solutions by Luxoft software development
Brochure of Luxoft telecom solutions by Luxoft software developmentLuxoft
 
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
 
Brochure of luxoft aerospace expertise by luxoft software engineering
Brochure of luxoft aerospace expertise by luxoft software engineeringBrochure of luxoft aerospace expertise by luxoft software engineering
Brochure of luxoft aerospace expertise by luxoft software engineeringLuxoft
 

Mehr von Luxoft (9)

Case study rapid growth compels leading antivirus software company software l...
Case study rapid growth compels leading antivirus software company software l...Case study rapid growth compels leading antivirus software company software l...
Case study rapid growth compels leading antivirus software company software l...
 
Case study luxoft helps leading av solution provider media luxoft for polymedia
Case study luxoft helps leading av solution provider media luxoft for polymediaCase study luxoft helps leading av solution provider media luxoft for polymedia
Case study luxoft helps leading av solution provider media luxoft for polymedia
 
Case study luxoft fx position keeping banking luxoft for top3largest bank in ...
Case study luxoft fx position keeping banking luxoft for top3largest bank in ...Case study luxoft fx position keeping banking luxoft for top3largest bank in ...
Case study luxoft fx position keeping banking luxoft for top3largest bank in ...
 
Case study commodity value chain banking luxoft for one of the largest global...
Case study commodity value chain banking luxoft for one of the largest global...Case study commodity value chain banking luxoft for one of the largest global...
Case study commodity value chain banking luxoft for one of the largest global...
 
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
 
Brochure of luxoft aerospace expertise
Brochure of luxoft aerospace expertiseBrochure of luxoft aerospace expertise
Brochure of luxoft aerospace expertise
 
Brochure of Luxoft telecom solutions by Luxoft software development
Brochure of Luxoft telecom solutions by Luxoft software developmentBrochure of Luxoft telecom solutions by Luxoft software development
Brochure of Luxoft telecom solutions by Luxoft software development
 
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
 
Brochure of luxoft aerospace expertise by luxoft software engineering
Brochure of luxoft aerospace expertise by luxoft software engineeringBrochure of luxoft aerospace expertise by luxoft software engineering
Brochure of luxoft aerospace expertise by luxoft software engineering
 

Kürzlich hochgeladen

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Kürzlich hochgeladen (20)

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Case study ecommerce platform travel luxoft for north american provider of ecommerce software platform

  • 1. For more information about Luxoft, visit www.luxoft.com www.luxoft.com/travel-aviation/ case study Ecommerce Platform Development 14.09.2012 uu Client: A leading North American provider of eCommerce software platform uu Industry: Ecommerce Software Technologies Utilized uu Java uu Open JPA uu Eclipse RCP uu Spring Framework
  • 2. Business Challenge Client’s product is a unique eCommerce platform optimized for rapid roll-out of the derived ecommerce solutions. The platform’s main features are: uu Open Source uu Easy integration with 3rd parties components uu Web Services-based uu Flexible architecture A new release date for the client’s software was approaching, while a number of serious challenges had surfaced, including certain issues with the existing architecture that affected performance and scalability. JavaScript-based eCommerce management software application encountered serious maintenance and new feature development issues, which degraded the overall performance. In order to address these challenges, the client decided to redesign the architecture in their upcoming release. The web interface of eCommerce management application would be redesigned, using the Eclipse Rich Client Platform, and Open JPA for persistence of objects to database would be used. Faced with a tight release schedule, the client was looking for a partner with the domain knowledge, technology expertise and a good track record to prove it. Luxoft topped the candidates list, because of their expertise in eCommerce software, impressive portfolio of accomplishments, and a combination of the near- and off-shore locations. Following the successful completion of a small pilot project, Luxoft team was selected for the project. 02Luxoft - Case Study Solution Luxoft established a development center consisted of nearshore and offshore resources. Communication procedures were established to ensure the effective teamwork between both offices and the development model was tailored to meet the client’s agile development process. The client had four teams working on the project and Luxoft team was one of them. The client used an agile development process including daily Scrum meeting and 3-week development iteration. The Luxoft team adopted the client’s development process, using a common code base and a bug tracking system, the same duration development iteration, iteration planning and the daily status updates.
  • 3. 03Luxoft - Case Study Core Architecture When in the middle of the project, more resources were suddenly needed, because of a dramatic scope change, Luxoft was able to quickly accommodate and set up a second offshore team.The same development process was used with the nearshore team helping to coordinate tasks and activities between clients and the offshore teams. During the course of the project, it was also decided to migrate from Hibernate platform to Apache Open JPA ORM framework, which was considered to be more robust, while implementing the new Sun JPA 1.1 specification. Such key features as annotations allow flexible and easy development using Apache JPA. The eCommerse platform’s architects focused on achieving maximum flexibility and maintainability. Therefore the bulk of their efforts were directed toward reworking the whole build process, setting the framework and searching mechanisms. While the results of these efforts are not directly visible to an enduser, they allow achieving the main goal - to make the integration of the eCommerce platform fast and easy for any type of business. DATABASE ORACLE Microsoft SQL SERVER MySQL SYSTEM SERVICES SCHEDULING CACHING TRANSACTION SECURITY LOGGING VALLDATION XML PARSING RCP UPDATE SITE BIRT REPORTING THIRD-PARTY ENTERPRISE APPLICATIONS MESSAGING PAYMENT PROCESSING FULFILLMENT / SCM ERP CRM CMS TAX MANNAGEMENT REPORTING WEB SERVICES APPLICATION JAX-WS (SERVLET) PUBLIC JAVA API API BRIDGE SEARCH SERVER SOLR SEARCH ENGINE STOREFRONT VELOCITY / SPRING MVC (WEB) DWR (AJAX SERVLET) COMMERCE MANAGER SERVER WEB SERVICES CLIENTS (JAVA, .NET, PHP, ECT) WEB BROWSER COMMERCE MANAGER CLIENT (ECLIPSE RCP, SWT / JFace) COMMERCE MANAGER SERVICES EMAIL SERVICES QUARTZ JOB SCHEDULER SECURE HTTP REQUEST <<REMOTE>> HTTP REQUEST <<REMOTE>> DOMIAN OBJECTS CORE ENGINE SERVICES (BUSINESS SERVICES, WEB SERVICES, AJAX SERVICES) DATA ACCES OPEN JPA (OBJECT / RELATIONAL MAPPING & PRESISTENCE) SOAP / XML <<REMOTE>>
  • 4. 04Luxoft - Case Study Service Layer The service layer provides services to various consumers in the web layer as well as web service consumers. There are several types of services that serve different roles in the application: uu Persistence Services provide the capability to save and retrieve domain objects uu Domain services typically implement the logic for a use case that is inappropriate for encapsulation by any one domain object uu Integration services implement functionality that is invoked by domain services but considered outside the domain of an ecommerce application and typically integrate with other systems or technologies (EmailService, CustomerIndexBuildService, BirtReportService) uu System services handle various concerns that cut across many parts of the application uu Web services expose service layer functionality to web services clients. These services are ultimately delivered to external systems via SOAP. Domain Layer The Domain layer contains an object model of the ecommerce domain. This object model consists of classes that model real-world entities such as customers and products. The behavior and relationships of these classes should be a reflection of the real-world entities. Data Access Architecture The data access layer is responsible for saving and retrieving data from persistent storage. The majority of persistent data at the client’s site is stored in the database using the OpenJPA implementation of the Java Persistence API (JPA). A small number of configuration files are persisted directly to the file system using XML and properties files. Objects that are aware of persistence implementation details such as file formats or whether data exists in a database are called Data Access Objects (DAO). Storefront The architecture of the Storefront component of the eCommerce platform software is comprised of the following technologies: uu CSS - Cascading Style Sheets provide formatting and positioning for elements across all HTML pages uu Javascript - Javascript is used to create rich user interfaces in the browser uu Velocity - A template processing technology that embeds information from Java objects within HTML pages uu Spring MVC - A web framework used to separate Velocity templates in the view layer from the underlying domain model and services In addition, the Storefront uses services provided by the Core component of the eCommerce platform. eCommerce Management Software The eCommerce management software is comprised of the following components: uu Eclipse RCP-based desktop client - rich client application is distributed to end users’PCs and makes connections to other system components to allow users to administer online stores uu Mid-tier application server - web-application that has the following responsibilities:
  • 5. 05Luxoft - Case Study —— Executes scheduled batch jobs for both the Storefronts and Commerce Manager clients —— Hosts web services for integration with external systems —— Provides centralized file storage for digital assets such as product images that are manipulated by Commerce Manager client users and synched across all Storefronts —— Provides the following centralized services to RCP desktop clients —— Payment processing —— Email sending —— User authentication —— Central file store CRUD operations —— Hosting the Solr server for data indexing —— Hosting the RCP Client update site uu Database Rules Engine At the core of the promotion rule system is the JBoss Rules (formerly Drools Rules) library. JBoss Rules is a third-party rules engine that uses a fast algorithm to evaluate rule conditions and execute their actions. The input to the JBoss Rules engine is a set of objects used in the condition evaluation and action execution as well as the set of rules, which we express as text in the proprietary Drools language. Web Sevices Web Services is one of the methods that remote clients can use to access the client’s core application. The Web Services API is a well defined, SOAP-based layer that is intended to provide integration functionality for the client’s customers. It is not intended to be a public interface. DATA CENTER FIREWALLS INDI HTTP HTTP HTTP (SOAP) HTTP HTTP (SOAP) INDI HTTP FILE UPLOAD (FTP) DATA CENTER FIREWALLS WWW STORE CUSTOMERS (IE, FIREFOX, SAFARI ECT.) WWW 3rd PARTY APPLICATIONS (E.G.ERP, CRM, CMS) STOREFRONT APP SERVER 1 DB SERVER SPRING REMOTING (HTTP) FILE UPLOAD (FTP) SPRING REMOTING (HTTP) STOREFRONT APP SERVER 2 STOREFRONT APP SERVER 3 DATA CENTER STOREFRONT CLUSTER STORE CALL CENTER CALL CENTER STAFF  MERCHANDISERS  SITEADMINISTRATORS  CATALOG MANAGERS  FINANCE ECT. COMMERCE SERVER WEB SERVICES API SCHEDULED JOBS CENTRAL FILE STORE SEARCH SERVER RCP DISTRIBUTION EMAIL SERVER STORE HEAD OFFICE
  • 6. 06Luxoft - Case Study Benefits uu Partnering with Luxoft enabled the successful product launch on time and on budget, while meeting all internal milestones uu The software release contained radical improvements in performance, scalability and maintenance uu The nearshore/offshore team model proved its efficiency and relieved the client’s own development team from having to supervise the offshore teams, focusing on their own development goals instead uu Luxoft engineers demonstrated proactive approach by suggesting a number of improvements to the product design, instead of simply following the listed requirements uu Luxoft showed an unwavering commitment to meeting the client’s need, ensuring the client’s peace of mind during the entire project
  • 7. About luxoft Luxoft, a principal subsidiary of IBS Group, is a provider of advanced application and software engineering outsourcing services for global and regional enterprises. Luxoft builds partnerships with its clients, such as Boeing, IBM, Deutsche Bank, UBS, Harman, Avaya, Alstom, and Sabre, based on the culture of engineering excellence, innovation, and deep domain expertise. Luxoft offers international delivery capability through its network of state-of-the-art delivery centers in North America, Eastern Europe, and Asia. Luxoft`s customers benefit from the right mix of technology skills, industry knowledge, proprietary processes and methodologies, and a choice of engagement models. For more information about Luxoft, visit www.luxoft.com www.luxoft.com/travel-aviation/ © 2012 Luxoft