Answer for How to migrate the code base from Hybris to ATG?
I have not done the migration but have worked on both the frameworks separately . So can suggest you to start with few things:
- In hybris local.properties is available in config folder where you get all the global properties for whole project. Refer that to check all the Global configuration and project.properties file in every extension to get extension specific configurations. (Extension: Like a module in ATG)
- Data Mapping : In hybris we do mapping in items.xml which is created ootb for each extension. Move from items.xml–>Repository.xml
- Go to HAC (Hybris Admin Console) to easily check all the Database tables, Data , Configuration files, Importing mechanism and all project related information without touching the code.
- All the data is imported in impex files in hybris so you will find .impex files to find different queries to update data into db.
- Dependency of modules/extension is defined in extensionInfo.xml file from where you can easily move it to Manifest.xml in ATG
- Hybris is spring based . So it follows MVC architecture . Flow is Controller–>Facade–>Service–>DAO unlike ATG where we do configuration in properties file. Similary you can create different form handlers in ATG based on different controllers in Hybris
- In ATG to manage data we use ACC or BCC for business users. In Hybris you would find many Management systems like Backoffice() ,hmc,wcms,cockpit,cmscockpit,productcockpit etc.You can basically refer to xml configurations for these systems and include the configuration in properties file in ATG.
- Depending on your commerce domain whether its B2B,B2C or any other we have different set of modules generated in Hybirs. All custom extensions/modules you can easily refer at path: C:\..\..\hybris_home\hybris\bin\custom. Basically 6-7 extensions you would find where all the custom changes must be done.(To be most focus on localextension.xml).
- Integeration with third parties is almost similar in both the frameworks , configuration changes to be made in local.properties file .
- Hybris generally uses its own solr search engine (solrserver extension)which you can easily refer to move to Endeca or any other search engine
- Cron-jobs,Triggers,Workflows are in Hybris to move to Schedulers of ATG and for making any decision based /actions.
- WCMS ,Backoffice which is very similar to BCC where you can easily check to manage Categories,promotions vouchers ,discounts,offers , publishing to different versions can be referred in corresponfding .xml files.
- Bulid and server changes can be referred at path/.. /hybris/bin/platform.
Moving further : For basic Understanding of Services and logics to be included as follows–
All modules/extensions have specific structure of creating components .So get the below details in ”
DAO layer–> To fetch/retrieve data Data Access Object
Service layer–> Business logic
Facades layer–> Mainly Consist of Converters/Populators to manipulate data and to convert into DTO (Data Transfer Objects)
I tried to put as brief as possible in this answer. Hope this helps !