Your SlideShare is downloading. ×
0
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Grāmatvedības un uzņēmumu vadības sistēmu programmēšana
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Grāmatvedības un uzņēmumu vadības sistēmu programmēšana

1,146

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,146
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. DSL un parasto valodu pielietojums populārākajām grāmatvedības un uzņēmumu vadības programmām Gints Turlajs [email_address] www.aci.lv , www.itinstitute.info
  • 2. Prezentācijas priekšmets <ul><li>Šajā prezentācijā tiks apskatītas Domain Specific Languages, kas attiecas uz grāmatvedības un uzņēmumu vadības sistēmām. (DSL komunikāciju tehnoloģijās nozīmē ko citu/) </li></ul><ul><li>Īpaša vērība tiks pievērsta tādām valdoām kā: </li></ul><ul><ul><li>X++ priekš Microsoft Dynamics AX; </li></ul></ul><ul><ul><li>Hansa Application Language priekš HansaWorld; </li></ul></ul><ul><ul><li>1C programmēšanas valoda; </li></ul></ul><ul><ul><li>SAP NetWeaver vide, valodu ABAP un Java izmantošana; </li></ul></ul><ul><ul><li>Epicor iScala vide un VBA izmantošana. </li></ul></ul>
  • 3. Mazliet par uzņēmumu vadības un grāmatvedības programmām <ul><li>Grāmatvedība bija pateicīga pārvešanai datoru vidē un bija viens no pirmajiem digitalizācijas elementiem. </li></ul><ul><li>Sākotnēji grāmatvedība tika turēta pirmajās spreadsheet programmās – Excel priekšgājējos, piemēram, VisiCalc. </li></ul>
  • 4. Mazliet par uzņēmumu vadības un grāmatvedības programmām <ul><li>Ar laiku grāmatvedībai pievienojās jaunas funkcijas – klientu kontatku vadība, resursu vadība u.c. Dažreiz citās programmās, bet dažreiz kā tās pašas programmas paplašinājums. </li></ul><ul><li>Grāmatvedības uzturēšana parasti ir diezgan standartizēta, tādēļ pielāgojumi parasti ir nepieciešami pārējos moduļos. </li></ul>
  • 5. Pielāgojumi <ul><li>Sarežģītākās un dārgākās programmas taču dažas arī pieejamas, parasti piedāvā pielāgojuma iespējas. </li></ul><ul><li>Pielāgojumi agrāk parasti tika veikti tikai ar programmēšanas valodu palīdzību, bet tagad speciālā Integrated Development Environment vidē, ar iespējām šo to veikt arī vienkāršā veidā. </li></ul>
  • 6. <ul><li>Microsoft Dynamics </li></ul>
  • 7. Microsoft Dynamics <ul><li>Microsoft Dynamics – ERP, CRM un grāmatvedības risinājumu kopums. </li></ul><ul><li>Grāmatvedībā divi produkti – NAV un AX, bijušie Navision un Axapta. </li></ul><ul><li>Sākotnēji abi bija dāņu uzņēmumi, kas vēlāk apvienojās, un drīz tos nopirka Microsoft. </li></ul><ul><li>AX domāts lielākiem uzņēmumiem nekā Navision un tajā lielāku lomu spēlē individualizācija un pielāgojumi, tādēļ vairāk šīs prezentācais kontekstā apskatīsim AX. </li></ul>
  • 8. Microsoft Dynamics NAV <ul><li>Microsoft Dynamics NAV  ir integrēta grāmatvedības un biznesa vadības programmatūra vidējiem un lieliem uzņēmumiem. </li></ul><ul><li>NAV savā darbā ik dienas izmanto ap 65 000 uzņēmumu vairāk nekā 150 pasaules valstīs. </li></ul>
  • 9. Microsoft Dynamics AX <ul><li>Microsoft Dynamics AX — tiem, kam nepieciešama individuāla pieeja un izmaiņas programmatūrā. </li></ul><ul><li>Stiprā puse – spēcīga izstrādes vide. </li></ul>
  • 10. Microsoft Dynamics AX
  • 11. Microsoft Dynamics AX <ul><li>Microsoft Dynamics AX integrated development environment (IDE) sauc MorphX. Tas iekļauj sevī rīkus, kas ļauj veidot, rediģēt, kompilēt un atkļūdot kodu Microsoft Dynamics AX. Apskatīsim tuvāk MorphX attīstības vidi, koncepcijas un attīstības rīkus. </li></ul><ul><li>Programmējamie objekti šajā vidē ir tabulas, veidlapas, atskaites, klases utt. Tās tiek organizētas koka struktūrā, ko sauc par Application Object Tree (AOT). Tādējādi tas arī sasaucas ar UML klašu diagrammām. </li></ul><ul><li>Objekti izveidošanu un rediģēšanu papildina drag-and-drop funkcionalitāte, un ar automātiskiem iestatījumiem noteiktām objektu īpašībām. Izejas kods metodēm un klasēm, tabulām, veidlapām un citiem objektiem ir pieejams, lai palīdzētu paplašināt un pielāgot AX funkcionalitāti. </li></ul>
  • 12. Microsof Dynamics AX <ul><li>Sistēmā ļoti svarīga ir mantošanas koncepcija – zemākā līmenī definētas lietas var tikt mantotas augstākos sistēmas līmeņos. Piemēram, ja tiek mainīts datu bāzes ieraksta garums no 10 uz 20 zīmēm, izmaiņas automātiski atspoguļojas visās aplikācijas veidlapās, kas atspoguļo šo lauku. </li></ul><ul><li>AX programmēšanas valodu sauc X++. Šī valoda lieto objektu orientētās programmēšanas principus kā, piemēram, enkapsulāciju, mantošanu, klases, objektus, metodes un īpašības (properties). X++ sintakse ir līdzīga C# un iekļauj sevī SQL datu manipulācijas komandas. </li></ul><ul><li>Līdzība ar C# nav pārsteidzoša, jo šī valoda, kas dažreiz tiek uzskatīts par Java atvasinājumu, ir Microsoft produkts. </li></ul>
  • 13. Microsoft Dynamics AX <ul><li>AX lieto vairāklīmeņu sistēmu, kur līmeņi ir hierarhiski sakārtoti programmas kodā. Tas nodrošina ka modifikācijas un papildinājumi var tikt veikti, neiejaucoties programmas objektos citos līmeņos. </li></ul><ul><li>AX nav saistīts ar specifisku datu bāžu platformu, bet ir izveidots, lai darbotos uz daudzām relāciju datu bāžu sistēmām, piemēram, Microsoft SQL Server vai Oracle. </li></ul>
  • 14. Valoda X++ <ul><li>X++ ir objektorientēta programmēšanas valoda, līdzīga C#. X++ ir daļa no MorphX platformas grāmatvedības un biznesa vadības sitēmu izveidei. </li></ul><ul><li>X++ atmiņas vadības modelis ir vienkāršs – tiek veidoti objekti ar jaunu operatoru, nav izteiktu programmētāju radītu pointeru datu tipu, nav pointeru aritmētikas. </li></ul><ul><li>X++ rada sistēmu klases lokam sistēmas programmēšanas jomu, piemēram: </li></ul><ul><ul><li>Failu ieeja un izeja, </li></ul></ul><ul><ul><li>Refleksija uz klasēm un tabulām, </li></ul></ul><ul><ul><li>Lietotāju interfeisa detaļu manipulācija, piemēram, formas un ziņojumi, </li></ul></ul><ul><ul><li>Dinamisko apgabalu (array) atbalsts, </li></ul></ul><ul><ul><li>Objektu kolekcijas. </li></ul></ul>
  • 15. Valoda X++ <ul><li>XML building and parsing. </li></ul><ul><li>Papildus sistēmu klasēm ir arī aplikāciju klases daudzo biznesa procesu tipu vadībai. </li></ul><ul><li>X++ programmētājiem ir pieejamas relāciju tabulas. X++ ir atslēgvārdi, kas atbilst lielākajai daļai atslēgvārdu standarta SQL. </li></ul><ul><li>X++ kods tiek pārbaudīts sintaktiski kompilēšanas laikā. Kompilēšanas process arī veic labākās prakses pārbaudes, kas var ģenerēt kompilēšanas ziņojumus. </li></ul><ul><li>X++ runtime execution engines ir automātiski mehānismi, lai likvidētu objektus, uz kuriem vairs neatsaucas, lai to aizņemtā atmiņa varētu tikt lietota. </li></ul><ul><li>AX atbalsta klašu interoperabilitāti, kas rakstītas X++ un C# (vai citā .NET Framework valodā). </li></ul><ul><li>Ļoti daudz kas no šīs valodas mums jau ir pazīstams no Java. </li></ul>
  • 16. X++ un C# salīdzinājums
  • 17. X++ un C# salīdzinājums
  • 18. X++ un C# salīdzinājums <ul><li>Līdzība nemaz neizskatās tik cieša. </li></ul>
  • 19. MorphX koncepcijas Method or object method Tasks that you can tell an object to do. Methods can be programmed at several levels: As part of a table As part of a form Methods for a form can be related to: The general management of the form, such as running the form, or closing it The data displayed in the form, such as deleting, or writing data Form controls, such as moving the cursor As part of queries As part of a general class library Initially, the methods are only frames that activate the methods of MorphX (indicated by the super() call). The small icon in the tree structure indicates that there is, as yet, no user code in the methods. When you have added some code of your own, a small, colored indicator is displayed in the icon. The color bar is green when your code has no syntax errors and red in cases when your method has errors. In a method you can: Add code to be executed prior to the main action of the method. Write you own method or let MorphX handle it (the super() call). Add code to be executed after the main action of the method.
  • 20. MorpX koncepcijas MorphX concept What is it and how does it work? System class An interface to the functionality that is defined in MorphX, such as to creating or running a form. Class Defines an object's interfaces. A class instructs or explains how to construct an object of a particular type. An essential characteristic of a class is that you can &quot;new&quot; it. This means that you can create a new instance (an object) of the class. Forms are an example of a class. MorphX has a class definition that describes exactly what happens when a form object is created. Controls A graphical object, such as a text box, a check box, a command button, or a rectangle, that you place on a form or report when you are designing it to display data, perform an action, or make the form or report easier to read. There are approximately 20 different controls and each is defined by about 50 properties.
  • 21. MorphX koncepcijas Data Source Holds the data variables that a form or a query uses. These data variables can be one or more tables, or they can be individual fields from tables. Designs Provides access to define the layout of a form or a report. Encapsulation The data in the system is hidden behind methods and can be changed only by the methods. Final A class or method modifier that defines that the class or method cannot be extended (overridden). Inheritance A central concept in MorphX. It means that what you define at lower levels in the system is automatically inherited by higher levels. An illustration of the hierarchy of inheritance is that your own methods can be built on and extend one of the methods defined in MorphX. In the code this is indicated by the super reference. You can always recognize an inherited method on the down arrow in the methods icon
  • 22. MorphX koncepcijas Object The central MorphX concept. Any form or control is an object. The database is an object. Objects are created from classes. An object is an instance of a class. Objects provide a convenient, logical way to organize procedures and data. Objects are encapsulated, which means that they contain both their code and their data. To use an object, you must keep a reference to it in an object variable. Property Properties are data that describe an object. Each type of object has different types of properties. A method typically has only a few properties, one of which defines where it is to run. Conversely, a control frequently has about 50 properties which define position, size, color, and so on. Query A query is a filter mechanism to retrieve the data you want to see from your database tables. Queries are typically used as the source of records for forms and reports. Workspace The Development Workspace contains the Microsoft Dynamics AX application development tools. The Application Workspace is used to display the client for the end-user.
  • 23. MorphX līmeņi Layer Description USR The user layer is for user modifications, such as reports. CUS The customer layer is for modifications that are specific to a company. VAR Value Added Resellers (VAR) can make modifications or new developments to the VAR layer as specified by the customers or as a strategy of creating an industry specific solution. ISV When an Independent Software Vendor (ISV) creates their own solution, their modifications are saved in the ISV layer. SLN The solution layer is used by distributors to implement vertical partner solutions. FPK The FPK layer is an application object patch layer reserved by Microsoft for future patching or other updates. For more information, see Patch Layers. GLS When the application is modified to match country or region specific legal demands, these modifications are saved in the GLS layer. SYS The standard application is implemented at the lowest level, the SYS layer. The application objects in the standard application can never be deleted.
  • 24. 1C <ul><li>Krievijā radīta programma, fenomenāli populāra bijušās PSRS teritorijā. </li></ul>
  • 25. 1C
  • 26. 1C
  • 27. 1C
  • 28. 1C <ul><li>1C valoda, bez atsevišķa nosaukuma, arī ir kopā ar Integrated Development Environment, kas piedāvā daudz funkcionalitātes arī lietotājam draudzīgākā izvēlnes formātā. </li></ul><ul><li>Valoda reāli ir kirilicā, nevis ar latīņu burtiem: </li></ul><ul><li>СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные </li></ul><ul><li>Daudzlīmeņu klases komandās un komandu garums atgādina Java. </li></ul><ul><li>Bieži tiek izmantota arī kopā ar Delphi uz komponentbāzētiem pamatiem. </li></ul>
  • 29. SAP <ul><li>SAP pirmsākumi ir no Vācijas. </li></ul><ul><li>SAP ir sava DSL valoda un IDE vide – NetWeaver, kura izmanto ServiceOriented-Architecture (SOA). </li></ul><ul><li>SAP Web Application Server ABAP ir saistīts ar JAVA kā SAP NetWeaver aplikācijas platformu, kurā ir iespējamj biznesa procesu vadība. </li></ul><ul><li>Datu vadība notiek modulī SAP Master Data Management </li></ul>
  • 30. ABAP <ul><li>ABAP  (Advanced Business Application Programming, sākotnēji   Allgemeiner Berichts-Aufbereitungs-Prozessor ) ir SAP izveidota programmēšanas valoda . </li></ul><ul><li>Ar to kopā ar Java programmē SAP Application Server, daļu no NetWeaver. </li></ul><ul><li>ABAP sintakse līdzīga senajai valodai COBOL (no pirmajām augsta abstrakcijas līmeņa valodām biznesa sistēmu vajadzībām). </li></ul><ul><li>Pirmo reizi loģiskās datu bāzes. </li></ul>
  • 31. Piemērs ABAP Hello World <ul><li>&quot;Helloworld&quot; </li></ul><ul><li>REPORT TEST. </li></ul><ul><li>WRITE 'Hello World'. </li></ul><ul><li>Katras rindiņas galā punkts, space=return. Nav svarīgi lielie vai mazie burti. Ekvivalents: </li></ul><ul><li>REPORT tESt. WRITE 'Hello World' . </li></ul>
  • 32. ABAP koda piemēri Mainīgajiem jābūt definētiem tajā pašā kārtībā kādā tos izmanto, starp operatoriem noteikti atstarpe. Ir objektorientētais pielikums.
  • 33. SAP NetWeaver <ul><li>SAP NetWeaver ir atvērta integrācijas un aplikāciju platforma (IDE), kas integrē cilvēkus, informāciju un procesus. Tā darbina SAP Business Suite un partneru risinājumus, klientu pielāgotos risinājumus, salāgo IT ar biznesu. </li></ul><ul><li>Tiek atbalstītas sekojošas tehnoloģijas un stratēģijas: </li></ul><ul><li>Java – SAP NetWeaver pilnībā atbalsta Java. </li></ul><ul><li>Web pakalpojumi – SAP NetWeaver papildina Web pakalpojumu sintaksi un standartus, lai nodrošinātu uzņēmuma servisus. </li></ul><ul><li>Atvērtie standarti – SAP NetWeaver ir atvērta integrācijas un aplikāciju platforma, kas atspoguļo SAP nodomu īstenot industrijas standartus un savietojamību. </li></ul><ul><li>Microsoft .NET savietojamība – SAP NetWeaver ir savietojams, avērts un papildina Microsoft .NET vidi un IBM WebSphere vidi. </li></ul>
  • 34. SAP NetWeaver developer studio <ul><li>SAP NetWeaver Developer Studio ir integrēta attīstības vide J2EE bāzētām daudzlīmeņu biznesa aplikācijām, kas savieno daudzas SAP NetWeaver attīstības tehnoloģijas. </li></ul><ul><li>Rīks ir balstīts uz mums labi zināmo brīvpieejas Eclipse, ar atvērtu un papildināmu vidi Java un Web pakalpojumiem. SAP ir papildinājis standarta Eclipse brīvpieejas funkcionalitāti ar dizaina, konstrukciju un uzturēšanas rīku kopumu visam programmatūras dzīves ciklam. </li></ul><ul><li>Šie papildus rīku kopumi ir atspuguļoti kā Eclipse perspektīvas. Perspektīvas kontrolē rediģētājus un attēlotos skatus, ļaujot attīstītājiem ātri pārslēgties starp perspektīvām, lai strādātu pie dažādiem uzdevumiem. </li></ul>
  • 35. SAP NetWeaver developer studio <ul><li>SAP NetWeaver Developer Studio atbalsta šādas perspektīvas: </li></ul><ul><li>J2EE perspektīva  – atbalsta tādes tehnoloģijas kā JavaServer Pages (JSPs), servlets un Enterprise JavaBeans (EJBs). </li></ul><ul><li>Web pakalpojumu perspektīva  – Kombinē rīkus, lai definētu, atklātu un testētu web pakalpojumus. </li></ul><ul><li>Web Dynpro perspektīva  – Dod plašu vidi modeļa virzītajam dizainam un lietotāju interfeisam. Web Dynpro automātiski ģenerē programmas kodu no lietotāju interfeisa modeļiem Java vai ABAP aplikācijām. Web Dynpro ekrāni ir neatkarīgi no klientiem, ļaujot tiem darboties dažādās vidēs kā Web, rich clients, mobilās ierīces u.c. </li></ul>
  • 36. SAP NetWeaver developer studio <ul><li>Pastāvības perspektīva  – Atbalsta datu bāžu objektu veidošanu un definēšanu, piemēram, tabulas un indeksus, ar Java Dictionary lietošanu, redaktoriem un tādiem standartiem kā SQLJ vai Java Data Objects </li></ul><ul><li>Java Development infrastruktūras perspektīva  – Piedāvā rīkus lielu attīstītāju grupu organizēšanai. Attīstītāju infrastruktūra vada izejas kodu, pamazām veido jaunas versijas un attīsta aplikācijas uz pareizajiem serveriem pareizajā laikā. </li></ul><ul><li>Biznesa procesu perspektīva  – Dod procesu līmeņa procesu kompozīciju un arhitektūru, lai radītu un atkļūdotu izpildāmos biznesa procesu modeļus ar SAP NetWeaver Business Process Management. </li></ul><ul><li>Biznesa likumu perspektīvas  – Ļauj radīt un modificēt biznesa noteikumus reprezentācijas formātos kā lēmumu tabulas ar SAP NetWeaver Business Rules Management. </li></ul>
  • 37. <ul><li>HansaWorld ir 20 gadu vēsture, sākums Zviedrijā. Ar vairāk kā 75,000 instalācijām 110 valstīs, HansaWorld ir viens no vadošajiem globālajiem biznesa programmatūras piegādātājiem MVU. </li></ul><ul><li>Arī šai programmai ir arī sava programmēšanas valoda, Hansa Application Language. </li></ul>
  • 38. Īsumā par programmu <ul><li>HansaWorld piedāvā biznesa risinājumus, papildus finanšu uzskaitei arī ERP, CRM, e-Biznesa, mazumtirdzniecības (POS), ražošanas un viesnīcu vajadzībām. </li></ul><ul><li>HansaWorld dibināts 1988. gadā Zviedrijā, uzņēmums pašlaik nodarbina ap 300 cilvēku visos kontinentos. </li></ul><ul><li>Vietējie menedžeri adaptē produktu vietējām vajadzībām, ir pieejams vairāk kā 30 valodu atbalsts, un programma strādā uz gandrīz visiem datoriem un operētājsistēmām. </li></ul><ul><li>Lielākā daļa no 75,000+ HansaWorld instalācijām ir MVU un starptautisku uzņēmumu filiāles. </li></ul><ul><li>Wide area networking (WAN) kapacitāte parādījās sistēmā no sākuma un kopš 1997. gada programma strādā caur internetu. </li></ul><ul><li>Programmas pamats (core engine) ir rakstīts C++, kas atļauj ātru un vienkāršu programmatūras adaptāciju dažādām operētājsistēmām. </li></ul>
  • 39. Piemērs Hansa Application Language <ul><li>Vienkārša programma HAL: </li></ul><ul><li>global procedure WebHalStart() /* ----------------------------Description: Displays the conferance for the startpage ------------ */ begin WebHalConfText(&quot;Start&quot;,1,false); return; end; </li></ul>
  • 40. Vēl piemērs HAL <ul><li>[hal] event DefineWindows begin Real h,h1,h2,h3,h4,h5,h6,h7,hs,hm,v,v3,l,vs,vm,f,t,x,v2; SetLangMode(LangEnglish,&quot;ENG&quot;,0); WindowBegin(&quot;Invoice&quot;,IVDClass,CGview,-); </li></ul><ul><li>Tile(0,48+22,false,&quot;&quot;,CustCode); EditField(75,vm=(v=6), 82,&quot;No.&quot;,Normal,SerNr,false,TSerSClass); EditField(75,v+=20,95, &quot;Customer&quot;,Normal,CustCode,false,CUSClass); </li></ul><ul><li>MatrixBegin(4,v,-50,-49,-,200); MatTypedRow(stp); Flip(0); MatCol(t=1,32,&quot;Item&quot;,0,ArtCode,false,INSClass); // MatCol(t,94,&quot;Var&quot;,0,VARList,true,VARSClass); // MatCol(t,144,&quot;Qty&quot;,0,Quant,true,0); [/hal] </li></ul>
  • 41. Atskaites uzrakstīšana HAL <ul><li>[hal] event startup begin SetLangMode(LangEnglish,&quot;ENG&quot;,0); Report(&quot;Empty Report&quot;,EmptyRClass,EmptyRn,0,modTC); end; event DefineWindows begin real x,h,h1,h2,h3,h4,h5,h6,h7,v,v2,l,vs,vm,f,t; SetLangMode(LangEnglish,&quot;ENG&quot;,0); WindowBegin(&quot;Specify My Own Report &quot;,EmptyRClass,CGRcW,RcType); SetWRect(5,73,415,250); v = 6; vs = 20; h = 120; EndWindow; end; global procedure EmptyRn(record RcVc RepSpec) begin /* Declare Variables */ /* Initialize all Variables */ /* Start the Job */ StartReportJob(&quot;Empty Report&quot;); /* Print the Header */ EndHeader /* Start the Loop */ /* Test to see if the Loop should break */ /* Test to see if the found record should be skipped */ /* Print out the information */ /* Add up the Totals */ /* End of the Loop, the program returns to the LoopBegin */ /* Print the Totals */ /* End the Report */ EndJob; return; end; [/hal] </li></ul>
  • 42. Atslēgvārdi HAL <ul><li>Atslēgvārdi: AREA         ARRAY        BEGIN  BOOLEAN        CASE        DATE DEFINEWINDOWS    ELSE        END ENUM        EXTERNAL    EVENT FINAL        FOR        FORWARD FUNCTION    GLOBAL        GOTO INNER        INTEGER        IF LOCAL        LONGINT        ONLOAD OTHERWISE    OUTER        PROCEDURE REAL        RECORD        RECT REMOTE        ROW        STARTUP STRING        SWITCH        THEN TIME        UPDATING    VAL VAR        WHILE        WQUIT    </li></ul>
  • 43. Matemātiskās operācijas <ul><li>*    MUL    /    DIV +    ADD    -    SUB +=    ADS    -=    SUBS &    ET    =    EQ ==    EQInt    >    GR >=    GE    <    LT <=    LE    <>    NE !=    NE    NOT    NOT AND    AND    OR    OR ++    UADD    --    USUB u    UMIN </li></ul>
  • 44. Vēl par HAL <ul><li>HAL.[hal] /********************************************************************************/ /* Declarations of variables */ /* All variable declarations in a procedure or function must be done before */ /* anything else. */ integer a,b,c; /* declararion of integers */ string 60 str; /* declararion of a string of lenght 60 */ val v; /* declaration of a value, large decimal value */ longint d; /* declaration of a long int, large value without decimals */ boolean f; /* declaration of a boolean, can either be true or false */ date d; /* declaration of a date */ /********************************************************************************/  /* Assignments */ a = 3; /* assign a value to a variable */ b = 5; c = a + b; str = &quot;Hello!&quot;; str = str & &quot; Hello!&quot;; /* concatenate two strings */ v = 12323897.98834994; f = true; /*********************************************************************************************/  /* Statements */ /* Example of if statement */ /* The double equal sign means that we compare two values. In the if statement you can */ /* also use other operators as &quot;<&quot; smaller than, &quot;>=&quot; lager or equal to etc. Many conditions */ /* can be put together separated by OR or AND. See the matematical operators for a complete */ /* list. The second section of the if statement after the first end key word is optional. */ /*********************************************************************************************/  if(a == 3) then begin /* Code to be executed if a is equal to 3 */ end else begin /* Code to be executed if a is not equal to 3 */ end; </li></ul>
  • 45. Vēl par HAL, cikli <ul><li>/* Example of switch statement */ /* Can also handle stings. */ switch(a) begin case 2: /* Code to be executed if a is equal to 2 */ case 3: /* Code to be executed if a is equal to 3 */ otherwise /* Code to be executed if a is not equal to 2 or 3 */ end; /*********************************************************************************************/  /* Example of for loop */ for(a = 0; a < 10; a = a + 1) begin /* Code to be repeated 10 times */ end; /*********************************************************************************************/  /* Example of while loop */ a = 0; while(a < 5) begin /* Code to be repeated 5 times */ a = a + 1; end; [/HAL] </li></ul>
  • 46. Secinājumi par HAL <ul><li>Ir objektorientācija, daudz kas līdzīgs Java un C++, taču brīžiem mazliet vienkāršāka pieeja, atgādina Paskālu. </li></ul>
  • 47. Epicor iScala <ul><li>Epicor ir 1972. gadā Kalifornijā dibināts IT uzņēmums. </li></ul><ul><li>2004. gadā Epicor iegādājas Zviedru grāmatvedības un biznesa vadības programmu Scala un ar laiku pārsauc to par iScala. </li></ul><ul><li>iScala ir iebūvēts Microsoft Visual Basic for Applications (VBA) vieglai pielāgošanai konkrētā biznesa vajadzībām . </li></ul><ul><li>Mēŗka segments – vidējie uzņēmumi. </li></ul><ul><li>Nepeciešamas user definable databases (UDDB) , lai paplašinātu kodola SQL dat u b āzi . </li></ul><ul><li>Kombinēts ar web servisu, balstīts uz darba plūsmām. </li></ul><ul><li>Lietotņu integrācija un pielāgošana. </li></ul>
  • 48. Epicor iScala <ul><li>VBA Developer </li></ul><ul><li>Ekrāni, uzvedība un biznesa procesi var tikt mainīti. </li></ul><ul><li>Salīdzinājumā ar risinājumu veidošanu no nulles, VBA pielāgojumiem ir zemāka cena par vienu izmaiņu, jo attīstība ir bāzēta uz iScala vidi un biznesa loģiku . </li></ul><ul><li>Attīstītājiem nav vajadzīgs tik daudz laika, lai veidotu lietotāju interfeisu, drošības elementus vai datu bāzi . </li></ul><ul><li>Jebkuršu uzlabojums arī būs integrēts ar back-ofisu un VBA. </li></ul>
  • 49. Epicor iScala <ul><li>VBA - plaši atbalstīta programmēšanas valoda, to ir viegli iemācīties, taču pietiekami spēcīga, lai ar to uzceltu kompleksus risinājumus un automatizētus atspoguļojumus. </li></ul><ul><li>iScala VBA vides galvenie elementi: </li></ul><ul><li>INTEGRATED DEVELOPMENT ENVIRONMENT (IDE) </li></ul><ul><li>VBA dzinis, kas iekļauj sevī pilnu Microsoft VBA vidi, ieskaitot open object model, kas atļauj integrāciju ar Outlook vai Excel u . c. </li></ul><ul><li>LIETOTĀJA INTERFEISS UN APLIKĀCIJAS NOTIKUMI </li></ul><ul><li>Tas ir vienkāršs, bet spēcīgs veids salinkot IDE ar lietotāja un kodola notikumiem . </li></ul><ul><li>DRUKĀŠANAS NOTIKUMI </li></ul><ul><li>Epicor iScala Report Engine darbina reportēšanas formu, var aizsākt notikumus, kas var tikt lietoti, lai automatizētu reportēšanas aktivitātes vai nu pirms, to laikā vai pēc ziņojumu radīšanas. </li></ul><ul><li>E-REPO ZITĀRIJS </li></ul><ul><li>Online tirgus VBA programmētājiem un klientiem VBA projektu glabāšanai . </li></ul>
  • 50. Epicor iScala <ul><li>VBA RUNTIME </li></ul><ul><li>Vide Epicor iScala VBA Developer projektu palaišanai . Tās lietotājiem vienlaicīgi ir pieeja arī Epicor iScala Ma k ro ierakstīšanai , rediģēšanai un palaišanai . </li></ul><ul><li>MA K RO </li></ul><ul><li>Atkārtotu darbību automatizēšanai. </li></ul><ul><li>Epicor iScala VBA Developer environment is fully atbalsta standarta Signature izpildes metodoloģiju . </li></ul><ul><li>Daži būtiski aspekti, apkopojums: </li></ul><ul><li>VBA ir visatbalstītākā programmēšanas valoda. </li></ul><ul><li>Attīstīšanas vide ir integrēta ar iScala . </li></ul><ul><li>e-Repository piedāvā optimizētu glabāšanu. </li></ul><ul><li>Integrēts ar iScala drošības vidi. </li></ul><ul><li>Var veidot advancētus risinājumus, kas ir integrēti ar iScala . </li></ul><ul><li>Lētāk nekā attīstīt pašiem no nulles. </li></ul>
  • 51. iScala integrācija <ul><li>Ir izveidota integrācija starp dažādām aplikācijām un biznesa partneriem . </li></ul><ul><li>Tiek lietots XML formāts datu apmaiņai un simple object access protocol (SOAP) , lai komunicētu neatkarīgi no programmēšanas valodas. </li></ul><ul><li>Tādējādi ir iespējams caur web servisiem sazināties ar citiem partneriem . </li></ul><ul><li>iScala ir pieejams arī kā web pakalpojums un var izmantot, piemēram, Microsoft BizTalk® vai Sonic ESB piedāvātās iespējas. </li></ul>
  • 52. VBA koda piemēri
  • 53. Tipisks VBA IDE
  • 54. Secinājumi par iScala <ul><li>Pieeja visumā ērta un veiksmīga – izmantot esošu un pietiekami vienkāršu valodu. </li></ul>
  • 55. Kopējie secinājumi <ul><li>Dažādu programmu DSL ir ļoti dažādas un gandrīz katra ir līdzīga citai valodai. </li></ul><ul><li>Katrā profesionālā grupā cilvēki cenšas izvedotu savu valodu, lai ierobežotu konkurenci, dažreiz lai pattiešām verētu ātrāk komunicēt. </li></ul><ul><li>Tomēr tas ne vienmēr ir efektīvi. </li></ul><ul><li>Attiecībā uz grāmatvedības DSL mans piedāvājums ir tās veidot pēc iespējas tuvāk populārākajām programmēšanas valodām, lai tās būtu vieglāk apgūstamas, vai arī vēl labāk pa tiešo izmantot esošās valodas. </li></ul><ul><li>Varbūt pareizāka ir Epicor iScala vai SAP pieeja, pa tiešo izmantojot jau esošas populāras valodas – VBA un Java. </li></ul>
  • 56. Kopējie secinājumi <ul><li>Atkal kāds mēģina izgudrot riteni, kāds nemēģina. </li></ul><ul><li>Abām šīm pieejām tirgū ir vieta. </li></ul><ul><li>Pieejas ir dažādas, klientiem izvēles iespējas ir plašas, un tas vairo to apmierinātību. </li></ul><ul><li>Tomēr, lai arī ar to dažreiz var nopelnīt, ierobežojot konkurenci, būtu vērts pretoties nepamatotas sarežģīšanas tendencēm. </li></ul>

×