Wednesday 30 March 2016


Hybris:    
I hope you guys all are aware of JSE, JEE, MySQL, spring, Ant, Maven, Eclipse/STS and JavaScript.

Ant plays Main role in Hybris to build the applications as per the templates. After that we need to customize the application based on our requirement.
Before Going to the Targets you need an account in Hybris wiki
Main targets:

 activateInstance         Activates role's instance given by
                                        -Drole.name and -Dinstance.name parameters.

 activateRole             Activates role given by -Drole.name parameter.

 addonclean               Clean addons

 addoninstall              Install addon

 addonuninstall          Uninstall addon

 all                                executes ant build and ant server

 alltests                 executes all tests except manualtests and performancetests
(allowed parameters: -Dtestclasses.extensions -Dtestclasses.annotations -Dtestclasses.packages -Dtestclasses.packages.excluded) allwebtests

 apidoc                   build javadoc for all current extensions

 bugprooftests            executes all bugprooftests

 build                    Builds all extensions

 classpathgen             Creates a standard platform .classpath file

 clean                    Cleans platform and all extensions

 cleanMavenDependencies   Deletes all maven dependencies in all extensions

 cleanear                 Cleans ear file

 clearAdministrationLock  Clears any administration lock, which can be left after unfinsihed system update or initialization.
  This will work only for cluster node which acquired such a lock.

 clearOrphanedTypes       Clears orphaned types after system update.
          Syntax: ant clearOrphanedTypes [-DclearInstances=true/false -DclearDeployments=true/false].           Default value for clearInstances is true, default value for clearDeployments is true

 codequality              executes all codequality tests

 commonwebclean           Clean common web sources

 compileuisrc             compile the _ui-src folder in _ui

 createConfig             If not present creates config folder using template provided by -Dinput.template variable.

 createInstance           Creates role ${role.name}'s instance given by -Drole.name and -Dinstance.name parameters.

 createRole               Creates role given by -Drole.name parameter. Uses current config as a base. If -Dclean.config parameter is set to true localextensions.xml   and local.properties files will not be copied.

 createtypesystem         Creates type system tables.

 customize                Copies all files from '/config/customize' folder to '/bin' folder recursively

 deactivateInstance       Deactivates instance.

 deactivateRole           Deactivates role.

 deleteInstance           Deletes role's instance given by -Drole.name and -Dinstance.name parameters.

 deleteRole               Deletes role given by -Drole.name parameter.

 demotests                executes all demotests

 deploy                   Deploys platform to bundled server. Will copy files of config/tomcat or config/tcServer to config folder of configured bundled server.

 deployDist               Deploys a distribution package to maven repository.

 deployDistWithSources    Deploys distribution and source packages to maven repository.

 dist                     Creates a distribution

 distWithSources          Creates distribution and source packages.

 droptypesystem           Drops type system tables.

 ear                      Builds ear file

 executeScript            Executes script from file. Syntax: ant executeScript -Dresource=scriptURI [-Dparams="key1=value1,key2=value2"]
  (example ant executeScript -Dresource=file:///path/to/script.groovy)

 executesql               Executes raw sql using the current platform database settings. You must provide a ${sql.file} property!

 extensionsxml            Generates complete extensions.xml file config/generatedextensions.xml  based on current settings of localextensions.xml

 extgen                   Runs extgen

 generateLicenseOverview  Downloads all third party licenses and generates an overview file

 importImpex              Import ImpEx from file.
                                      Syntax: ant importImpex -Dresource=/full/path/to/import.impex

 initialize               Runs an initialization of the specified tenant in stand-alone mode,
                              using hybris Administration Console default settings.
Syntax: ant initialize [-Dtenant=tenantID -DdryRun=true|false -DtypeSystemOnly=true|false]

 installbundle            Install bundle

 integrationtests         executes all integrationtests

 jacocoalltests           runs allstests with jacoco attached

 listRoles                Lists roles.

 localizationtest         executes the localizationtest to see if all types are properly localized

 localproperties          Appends properties to local.properties

 manualtests              executes all manualtests

 migrate_cockpit_config   converts configuration from csv file into proper folder structure

 modulegen                Runs modulegen

 performancetests         performancetests

 pmd                      Tests the source code with the pmd rules.

 production               Creates production environment zip's for hybris Server

 runcronjob               Performs a  cronjob in stand-alone mode.
Syntax: ant runcronjob [-Dcronjob] [-Dtenant]. Use -Dcronjob to pass a CronJob code,
such as -Dcronjob=MyCronJob. Use quotation marks for CronJob codes with spaces, such as -Dcronjob="My Cron Job".

 sanitycheck              Executes sanity check (db health check, license check, etc...) on current platform

 server                   Configures hybris Server and restart if running

 sonar                    Executes sonar to check all projects with the sonar rules.

 sonarsingle              Executes sonar to check a single project with the sonar rules.

 sourcezip                Creates a sourcezip

 startAdminServer         Starts the hybris AdminServer

 startHybrisServer        Starts the hybris Server

 syncaddons               Synchronize addons without touching the appserver

 testMavenDependencies    Test all maven dependencies in platform and all extensions

 typecodetest             executes the typecodetest to see if any reserved typecodes are being used

 unittests                executes all unittests

 updateMavenDependencies  Updates all maven dependencies in all extensions

 updateSpringXsd          Converts spring xsd definitions to versionless.

 updatesystem             Runs an update system of the specified tenant in stand-alone mode,
using hybris Administration Console default settings or the configuration from a given file.
Syntax: ant updatesystem [-Dtenant=tenantID -DdryRun=true|false -DtypeSystemOnly=true|false -DconfigFile=PATH_TO_CONFIG_FILE]
 webservice_nature        Provides webservice nature to selected extension

 yunitinit                Initializes JUnit tenant

 yunitupdate              Update JUnit tenant

Default target: all
Hybris:
What is omni-commerce?
I have heard of omnipotent. Alright, that is Good, or a mobile now a days. But what the hack is this omni-commerce?

As the word suggest, a commerce which is present every where.

Just look around you and get a life. When did you last ordered a dress or ring for your wife (ok ..girlfriend)?

You went to a local store, select it from hundred of it shown by salesperson, and after some negotiation, you bought it.  You are old school. You are so single channel person.
You browsed through tanishq website. Select a design. Note down the SKU of ring. Then you go to a nearby Tanishq and buy the same ring at the same price. You need not to go through that staring look of sales person. Bravo. You have gone multi channel.
You went to Amazon, download their pamphlet for rings, pass it to your girlfriend, she selects one, you called their call center, and ordered one. They deliver it to your sweetheart’s home. You have moved to next class of cross channel (select from print, ordered online).
From above, you see how a simple process of buying a ring could be modified, and how being shopping experience is boosted up now a days.

Now think of a more moderate approach. When you think of buying a ring. You start your action via a research on web. You want to see same kind of result all over. Be it mobile, web or physical shop. Same experience. Same price. Same discount. You want to use your makemytrip voucher in ebay retail. And you want to redeem it at all places, mobile , web, physical store or a kiosk at railway station. you want to modify delivery address. you want to have multiple option for payments. You want a seamless return and refund process.

Such kind of agile and dynamic behavior is served by omni commerce. Here customer centric application are made instead of channel specific.

Hybris is one of the leader in omni commerce technologies.

Tuesday 29 March 2016


In the present market so many E-Commerce Application development tools available. They are BroadLeaf, Shopify, Open Cart, PretaShop, Zen Cart, Oracle ATG, Demand Ware, Magento and Hybris. Licensed software are used only when you purchase the license Like Oracle ATG, Demandware and Hybris.
   
Open-source ecommerce shopping carts offer many advantages for small businesses. Open-source solutions can be developed to fit the needs of the merchant. They contain a nice combination of features at a minimal cost. And, though the support options may be more limited than proprietary or hosted platforms, open-source standalone solutions often have large communities of developers and partners to assist new merchants.

Here is a list of 11 open-source ecommerce solutions. All of the core applications are free. Each application has both free and premium extensions and support options to enhance the development of your store.

Open Cart:


OpenCart is an open-source, PHP-based ecommerce solution for online merchants. OpenCart has a very loyal and active community for user support, as well as a list of commercial partners for professional installation and customization. OpenCart features more than 20 payment gateways and more than 8 shipping methods in the default downloads, with hundreds of additional gateways and shipping integrations in its extension directory. OpenCart is also designed to easily manage multiple shops from one admin interface. Its directory has over 2,700 themes.



PrestaShop:


PrestaShop is an open-source ecommerce solution, written in PHP and based on the Smarty template engine. PrestaShop comes with over 310 integrated features and 3,500 modules and templates. It features cross selling, downloadable products, product export, one-page checkout, shipping discounts, and much more. Downloaded over 4 million times, PrestaShop is used in 160 countries and translated into 63 languages. It has more than 600,000 community members.


Magento:

Magento Community Edition is the free and open source version of the ecommerce platform. Merchants can access added features by installing extensions and themes from the huge Magento Connect marketplace. Magento does not provide technical support for the Community Edition, so answers to technical questions must be found in the user forum. One slight ruffle, Magento has announced the closing of its hosted solution, Magento Go, but for now the Community Edition is okay. Magento Community Edition supports more that 200,000 customer sites.



Zen Cart:


Zen Cart is an open-source ecommerce application written in PHP. Zen Cart branched from osCommerce code in 2003, with a solution that was more template-based. It features more that 1,800 add-ons in 16 categories. Zen Cart’s support community has approximately 150,000 members and 200,000 threads.


Spree Commerce



Spree Commerce is an open-source ecommerce solution based on Ruby on Rails. The modular platform allows you to configure, supplement, or replace any functionality you need. Spree Commerce has more than 45,000 stores using the platform around the world, including Chipotle. Spree Commerce has been translated into more than 30 languages.



Drupal Commerce:


Drupal Commerce is an ecommerce app by Commerce Guys. It is built on the Drupal content management system. Drupal Commerce offers a complete product administration system, shopping cart, multilingual and multi-currency, and checkout form. The Drupal Commerce extension list is full of third-party integrations for payment gateways, fulfillment services, accounting applications, social networks, and much more. Technical support packages are available from Commerce Guys.



osCommerce:



osCommerce (i.e., “open source Commerce”) is one of the first open-source ecommerce applications. More than 7,000 free add-ons have been uploaded by its community to customize a online store. osCommerce is used by nearly 13,000 registered sites. The support community has approximately 280,000 members who have contributed 1.5 million forum postings. Direct communication with other community members is available in the Live Chat room.


simpleCart:


simpleCart(js) is a free and open-source JavaScript shopping cart. With its small footprint, simpleCart(js) is designed to keep simple and high traffic sites running fast. The simpleCart(js) free core comes with the ability to check out with PayPal Express, Google Checkout, and Amazon Payments. Email checkout and Authorize.Net integration are coming soon.



WooCommerce:


WooCommerce is a free open-source ecommerce application that lets merchants turn WordPress sites into stores. WooCommerce was developed by WooThemes from a fork of Jigoshop. WooCommerce has a large variety of plugins and themes from WooThemes, as well as third party sites like ThemeForest and CodeCanyon. With nearly 4.5 million downloads from WordPress.org, WooCommerce is a very popular ecommerce solution for WordPress. To get official WooThemes support, you need to purchase a product. Otherwise, get help from the active community forum.



WP e-Commerce:


WP e-Commerce is another popular application for converting a WordPress site into an ecommerce store. The WP e-Commerce plugin has nearly 3 million downloads at WordPress.org. Use your own HTML and CSS and have complete control over the look and feel of your online store. WP e-Commerce has a nice variety of standard features, including multi-tier pricing for quantity discounts and integration with social networks for marketing. For support, there are video tutorials and a WordPress.org forum, as well as featured consultants for professional help.



Jigoshop:


Jigoshop is a free and open-source ecommerce solution based on WordPress. Released in 2011, Jigoshop is the predecessor to WooCommerce. Jigoshop has more than 30 themes, 100 extensions, and three theme frameworks. Jigoshop is free, as is support at WordPress.org. However, access to Jigoshop.com’s community support starts at $40 per month.


Before we jump right into the ocean of Hybris eCommerce, we must first understand what commerce is and how it works. You might be unaware of many slangs used in the world of eCommerce, so its not a good idea to skip this.


What is eCommerce?

So, as we know eCommerce is buying and selling of goods online, but that's not the end of it. eCommerce can be broken into many categories, among which, the most commonly used are listed below

B2B (Business-to-Business): The buying and selling of goods between two business organizations is B2B. This is typically a scenario where manufacturers sell to distributers or wholesellers sell to retailers. The quantity sold is quite large, and the price is often negotiable on the basis of quantity.
B2C (Business-to-Consumer): A business organization selling goods to general public is typically the scenario in B2C commerce. It is like a store where you can go and buy stuff.
C2C (Consumer-to-Consumer): The whole classifieds stuff is C2C commerce. You are a consumer, and wish to sell a car to another consumer is C2C commerce. There are many websites nowadays for online classifieds.
There are many other eCommerce categories, but they are not used so commonly, so we'll just skip them. Now, that we know about the categories of eCommerce which exist in the world, we can now move on and talk about how the digital world of commerce.

How does eCommerce work?

We would start with a real-world analogy of a store.
Consider that you wake-up in the morning, have a nice shower, dress-up and open your fridge for preparing your breakfast; and ALAS! you find it empty. What is the next thing you do? You go to the nearest grocery store with a list of all the stuff you need for your fridge. Now you go to the store and find all the PRODUCTS neatly CATEGORIZED, so you know where to find your stuff. Alternatively, you can also ask an attendant to SEARCH for a product you cant find. One-by-one, you put all the items you require into the CART, move for the CHECKOUT, get your items PRICED, you get your DISCOUNTS (if any). Lastly, you PAY for the order with your choice of payment methods (Credit-Card or Cash) and place your ORDER.
   Similarly, in a eCommerce application, your products should be categorized into various categories. Each product in a catalog should have similar attributes. For example, in a clothing catalog, products should have attributes like color, size etc. Each product should also have a price associated with it. Whenever a user views a product on the site, all these attributes should be displayed for the user to make a choice and add it to a virtual cart. The products should be browse-able via categories and Searchable via a search bar on the site. The virtual cart can be checked out, and the order should be completed via a payment method e.g PayPal, Credit-Card, Internet Banking, Cash-on-Delivery etc.


e-commerce (electronic commerce or EC):



E-commerce (electronic commerce or EC) is the buying and selling of goods and services, or the transmitting of funds or data, over an electronic network, primarily the Internet. These business transactions occur either business-to-business, business-to-consumer, consumer-to-consumer or consumer-to-business. The terms e-commerce and e-business are often used interchangeably. The term e-tail is also sometimes used in reference to transactional processes around online retail.

E-commerce is conducted using a variety of applications, such as email, fax, online catalogs and shopping carts, Electronic Data Interchange (EDI), File Transfer Protocol, and Web services. Most of this is business-to-business, with some companies attempting to use email and fax for unsolicited ads (usually viewed as spam) to consumers and other business prospects, as well as to send out e-newsletters to subscribers.

The benefits of e-commerce include its around-the-clock availability, the speed of access, a wider selection of goods and services, accessibility, and international reach. Its perceived downsides include sometimes-limited customer service, not being able to see or touch a product prior to purchase, and the necessitated wait time for product shipping.

To ensure the security, privacy and effectiveness of e-commerce, businesses should authenticate business transactions, control access to resources such as webpages for registered or selected users, encrypt communications and implement security technologies such as the Secure Sockets Layer.


E-Commerce or Electronics Commerce business models can generally categorized in following categories.

Business - to - Business (B2B)
Business - to - Consumer (B2C)
Consumer - to - Consumer (C2C)
Consumer - to - Business (C2B)
Business - to - Government (B2G)
Government - to - Business (G2B)
Government - to - Citizen (G2C)


Hybris:


Softwares Commonly used in Hybris


Java:


Java is a general purpose, high-level programming language developed by Sun Microsystems. A small team of engineers, known as the Green Team, initiated the language in 1991. Java was originally called OAK, and was designed for handheld devices and set-top boxes. Oak was unsuccessful, so in 1995 Sun changed the name to Java and modified the language to take advantage of the burgeoning World Wide Web.

Java: An Object-Oriented Language
Java is an object-oriented language similar to C++, but simplified to eliminate language features that cause common programming errors. Java source code files (files with a .java extension) are compiled into a format called bytecode (files with a .class extension), which can then be executed by a Java interpreter. Compiled Java code can run on most computers because Java interpreters and runtime environments, known as Java Virtual Machines (VMs), exist for most operating systems, including UNIX, the Macintosh OS, and Windows. Bytecode can also be converted directly into machine language instructions by a just-in-time compiler (JIT). In 2007, most Java technologies were released under the GNU General Public License.

Spring Framework:


Download Spring

Spring is lightweight when it comes to size and transparency. The basic version of spring framework is around 2MB. The core features of the Spring Framework can be used in developing any Java application, but there are extensions for building web applications on top of the Java EE platform.


Spring MVC:


The Spring MVC (Model View Controller) is used to segregate all forms of presentation from the underlying business logic in Elastic Path Core Commerce Solutions. Spring MVC makes every function highly configurable, and provides an elegant way to interface with popular viewer technologies including Velocity.


Ant :

Apache Ant is a Java based build tool from Apache Software Foundation. Apache Ant's build files are written in XML and they take advantage of being open standard, portable and easy to understand.

Maven :

Download Maven

Maven is an Apache open-source project for managing software build processes. Maven encourages deployment consistency with a convention over configuration approach. This means that Commerce Engine developers are shielded from the complexities of the build process as much as possible, increasing efficiency and productivity.

Solr:


Apache Solr is an enterprise search platform. Solr is extremely popular at leading technology companies thanks to an outstanding track record of performance and reliability. Solr is used to power advanced search and merchandising capabilities in Elastic Path Core Commerce Solutions, including guided nav and filtered browsing.


Hybris Commerce Suite 5.7 recent release

Hybris Development Process has plenty of software  combinations to develop E-Commerce Applications.

This is the First phase to Know all the details about  Hybris.

Hardware Requirement:
main aspects is
Processor          :      Intel I5
RAM                 :      8GB
Hard Disk          :      100 GB



Software Requirement:
JDK                        : 1.8
Eclipse                    : Latestone (Mars)
Ant                          : Latestone(1.9)
Maven                     : Latestone(3.3)
Tomcat                    : Latestone(8.0)

Clients which have already has SAP up and running as IT solution for their enterprise can extend there e-commerce solution with the hybris product. We can also use it to leverage the latest technology from the e-commerce suite business. The following illustrations are made on assumption of the following requirements.
  • Develop a great UX for the online e-commerce Application that has all the features offered by the hybris Commerce Suite platform(e-commerce, multi-channel commerce, master data management and order managmenet extensibility, etc..)
  • Customers(users) must only interact with the hybris based e-commerce Application
  • Still use the existing SAP products ( both Data and Functionality)
Required Systems
  • E-commerce Application ( Existing or New) based on hybris platform v5.4
  • SAP Products (including master data)
What are the Pros:
  • Rich user experience
  • Guided development and deployment
  • flexible with the integration based
  • accelerates box ecommerce functionality from hybris
  • reusable – SAP master data: Products, Customer, Prices, Stock level, etc..
  • reduces – front-end complexity

A group of creative minds focused to exceed customer’s expectations.

We are a technology partner who helps our customers in:


• Innovative and scalable application development
• Technology research
• IT Landscapes redesign
• Application feasibility
• Requirement analysis
• Systems integration
• Application re-engineering.




Welcome to the Hybris Tutorial to All Readers.

Hybris Welcomes you for the future E-Commerce Application Development.

Hybris Commerce Development

Hybris Commerce Development is a SCRUM development practice with the Java-based services and applications using Java EE, Spring Framework, and RESTful Webservices. The new interface has changed a lot from the older versions. After the takeover by SAP so many things like licensing, learning and wiki accounts and downloadables have changed a lot.
  • Prerequisites
  • WCMS
    • HY mashups
    • CMS items hierarchy
    • Configure the data model of basestore website
    • Warehouse
    • Point of Sale and their relations
    • Create new and configure existing CMS restrictions
    • Evaluation of CMS restrictions
    • New CMS component types
  • Backoffice and Cockpit Modifications
    • HY mashups
    • Create a new Backoffice application
    • Widgets using the Cockpit NG framework
    • Introduce legacy cockpits modification into hybris accelerator
    • Dynamic forms
  • Commerce and Accelerator
    • HY mashups
    • Create a new Addon
    • OCC Webservice
    • Promotion
    • Order Splitting strategy
    • CMS Navigation bar
    • Configure accelerator based storefront and product converters
    • Extend payment commands and identify payment integration points
    • Internationalization and request handling in accelerator
    • Hot Folder transformation
  • Data Modeling
    • HY mashups
    • Model new data types and extend existing ones incl. localized attributes and enumerations
    • Configure indices and deployments
    • Identify how types are stored in database
    • Create advanced FlexibleSearch queries
    • Determine the consequences of using variants
    • Category variants
    • Classification attributes
  • Order Managment
    • HY mashups
    • Create and start a business process
    • Fulfillment process and subprocesses
    • Shopping cart handling incl. checkout scenarios
    • Identify features available in Assisted Service Module
    • Available Customer Service Operations in hYBRIS Commerce Suite
  • Search and Navigation
    • HY mashups
    • Create a new Solr index
    • Facet, Facet range
    • Solr topology
    • Configure autosuggestions
    • Keywords
    • Stopwords
    • Synonyms
    • hero products
    • boost rules
  • Platform Basics
    • HY mashups
    • Concept of System Initialization
    • Concept of System Update
    • Essential and Project data
    • Session handling
    • Extension structures
    • Configure platform start and change its build procedure
    • Identify caching behavior and model interceptor
    • How transactions work in Hybris Commerce Suite
  • Platform Features
    • HY mashups
    • How to use Events
    • Advanced features of ImpEx
    • Spring Context in Hybris Commerce Suite
    • How Cronjobs and cluster communication work
  • PCM Basics and Price Modeling
    • HY mashups
    • Price Calculation incl. PIQ_CALCULATE
    • Retrieval logic for Pricing
    • Model objects handling
    • Configure synchronization jobs
    • Create Workflow
  • User Management
    • HY mashups
    • Configure user rights and search restrictions
    • Switch user context in a given code
    • B2B hierarchy