Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building Data-driven Application using Avelca Application Generator

David Pramana
November 18, 2014

Building Data-driven Application using Avelca Application Generator

How Avelca uses Domain Specific Language to build data-driven application.

David Pramana

November 18, 2014
Tweet

More Decks by David Pramana

Other Decks in Technology

Transcript

  1. What is the problems? Inconsistent Software Quality Between Developers • 

    Variety Knowledge & Experience •  High Developer Turn Over Rate •  Weak Code Quality Assurance Inefficient Software Development Time •  Spend a couple first weeks just for creating basic things. •  Modification sometimes takes more time than building new one, and vice versa.
  2. Avelca  is  a  tool  to  quickly  build   data-­‐driven  applica6on

      Domain Specific Language Text Application Application Generator Avelca   use   Domain   Specific   Language   (DSL)   to   describe  business  informa6on  system  applica6on  and   generate  the  applica6on  for  further  customiza6on.  
  3. Whoever  builds  the  applica6on,  the  result   should  reaches  certain

     degree  standard.   Application Application Generator While   Avelca   speeds   up   6me,   it   doesn’t   sacrifice   coding   standards   and   good   applica6on   architecture   design.   Application Application
  4. Avelca  reduces  35  days  to  30  seconds   Working  Days

     Required   Ac4vi4es   5   Set  up  applica6on  framework,  libraries,  deployment  script,   standard  layouts,  user  authen6ca6on  &  authoriza6on   (RBAC,  user  throNling,  email  no6fica6on),  user  &  group   management,  user  account,  and  seOngs.   10   BREAD  of  master  data  with  AJAX  pagina6on  and  filtering.   10   BREAD  of  transac6on  data  (basic  logic  for  CRUD),  business   rules  engine,  and  reports  skeleton.   3   Layout  and  logic  for  addi6onal  ac6ons  on  master  and   transac6on  data.   7   REST  API  for  all  master  &  transac6on  data  with  advanced   filtering,  set  up  API  versioning  architecture,  and  create   oAuth  authen6ca6on.   *  for  Informa6on  System  Applica6on  
  5. Avelca  prepared  for  modifica6ons  aZer  the   applica6on  is  generated

      Avelca  endorse  Model  Configura6on  over  Manual  Modifica6on.   Modifying  certain  part  will  be  faster  than  crea6ng  all  from   scratch.   Presentation Database Business Logic Class  Extends  &  Func6on  Overriding   +   Model  Interpreta6on  Approach   +   Par6al  Views  Overriding  
  6. Avelca  Domain  Specific  Language  (DSL)   products : Fields :

    name : text price : number quantity : number discount : decimal Menus : Update Price List Actions : View Stock Card Rules : Has Enough Quantity Is Active X   S a m p l e A p p l i c a t i o n . y a m l There  are  many  things  of   data-­‐driven  applica6on  that   you  can  define  in  Avelca  DSL.   Application Settings Roles, Users, and Permissions Custom Actions Reports Skeleton Business Rules Custom Menus Further  reading  :  help.avelca.com  
  7. Avelca has been increasing the Level of Automation over time

    to reach the Optimum Point. Time   Level  of  Automa6on   100  %   2012   2013   2014   Today  
  8. Why  using  free  &  open  source   tools  might  not

     your  best  solu6on   Development Method Shared Tool Automate Task at Once Avelca Application Generator Application Packages DSL & Online Live Preview Command Line Interface YAML is readable for all Utilize DSL to generate all Multiple Tools & Methods Only Technical Users Successful  soZware  development  needs  non  technical  and   technical  roles  to  work  together.  Avelca  supports  them.  
  9. Avelca want to define as many as possible the application

    requirement in DSL, so it can be reused in other similar application. Domain Specific Language Avelca Software Requirements Document Project /* * Code * Snippets */ Applica6on   X  
  10. Using Avelca application generator leads to better job assignment Business

    Analyst together with Senior Developer Translate Functional Requirements to Avelca DSL Developers will build key features