Domain spesifinen mallinnus ja generointi käytännössä Petri Savolainen
Agenda o Taustaa o DSM yleisesti o Meidän versiomme DSM:ästä o Case
Muistaako kukaan? o Helppoa o Tuottavaa o Businessongelman ratkomista
Nykypäivä? o Luvattoman moni projekti epäonnistuu o Kustannukset karkaavat käsistä o Pienetkin asiat kestävät vuosia o Business ei tunne saavansa sitä mitä tilasi (tai luuli tilanneensa) o Järjestelmät suhteettoman raskaita sekä kehittää että ajaa.
Miksi??
Mikä neuvoksi? o Suunnitteluosaaminen o Projektiosaaminen o Frameworkit o Metodit o Alihankinta o Generaattorit (DSM)
Agenda o Taustaa o DSM yleisesti o Meidän versiomme DSM:ästä o Case XX
Sanastoa o DSM o DSL
DSM määritelmä o Domain-specific modeling (DSM) is a software engineering methodology for designing and developing systems, most often IT systems such as computer software. It involves systematic use of a graphical domain-specific language (DSL) to represent the various facets of a system. DSM languages tend to support higher-level abstractions than Generalpurpose modeling languages. o DSM often also includes the idea of code generation: automating the creation of executable source code directly from the DSM models. Being free from the manual creation and maintenance of source code means DSM can significantly improve developer productivity Lähde: http://en.wikipedia.org/wiki/domain-specific_modeling
DSL Määritelmä o The term domain-specific language (DSL) has become popular in recent years in software development to indicate a programming language or specification language dedicated to a particular problem domain, a particular problem representation technique, and/or a particular solution technique. The concept isn't new special-purpose programming languages and all kinds of modeling/specification languages have always existed, but the term has become more popular due to the rise of domainspecific modeling. Domain-specific languages are 4GL programming languages. Lähde: http://en.wikipedia.org/wiki/domain-specific_language
Eikös 4GL:ät kuolleet 80-luvulla?
DSM jatkoa o DSM differs from earlier code generation attempts in the CASE tools of the 1980s or UML tools of the 1990s. In both of these, the code generators and modeling languages were built by tool vendors. While it is possible for a tool vendor to create a DSM language and generators, it is more normal for DSM to occur within one organization. o One or a few expert developers creates the modeling language and generators, and the rest of the developers use them. o Having the modeling language and generator built by the organization that will use them allows a tight fit with their exact domain and needs.. Lähde: http://en.wikipedia.org/wiki/domain-specific_modeling
Suomessakin tiedetään tämä! o Increased productivity!!!! o MetaEdit+ users consistently report radical productivity improvements of 500-1000%! These numbers are not random occurrences, but have been demonstrated time and time again by industry leaders such as Nokia and EADS. o The source of all this increased productivity is automation. Lähde: http://www.metacase.com/keybenefits.html
Tuotteita o Visual Studio o MetaEdit+ o Rational XDE o AndroMDA o
Agenda o Taustaa o DSM yleisesti o Meidän versiomme DSM:ästä o Case XX
Mallinnus ja generointi o DSM = Käsitemalli++ Tyyppitietoa Ohjaustietoa. UI:n olemuksen säätelyä o Generaattori käyttää flavoreita jotka sisältävät domain-tietoa sekä ymmärryksen teknisen alustan olemuksesta.
Valitse platformi Tuetut alustat UI EDA Java PHP 5.NET Sharepoint
Mitä tulee ulos? o Tietokannan luonti ja populointi o Palvelut o Integraatio o Näytöt o Buildit o Käyttöohjeet o Testiskriptit
Arkkitehtuuri AJAX perusteinen käyttöliittymä Integraatiorajapinta JMS Tapahtumapohjainen arkkitehtuuri ORACLE ESB
Testaa!
Agenda o Taustaa o DSM yleisesti o Meidän versiomme DSM:ästä o Case
Case XX o Globaali Suomalainen Teknologiayritys o HR sovellus o Monikielinen o Yksi installaatio kaikille maille o Selainkäyttö o Web 2.0 tasoinen käyttöliittymä o Täysin generoitu!
Case XX teknologia o Paikallisen sovelluksen ajoalusta: Application Server Java 6 Oracle 10g o Tuetut selaimet: Internet Explorer 6 ja 7 Firefox 2 ja 3 Opera9 Safari 3.1.2 Google Chrome Beta
Demo sovelluksesta
Yhteenveto o DSL ja DSM parantavat laatua ja tuottavuutta (jopa dramaattisesti) Liiketoiminnan asiantuntijat voivat taas tehdä ratkaisuja, eivät teknologianörtit. o Vaikeutena määritellä sopiva Domain ja rakentaa sitä tukeva generaattori. Inhouse domain- ja teknologinen osaaminen oltava vahvaa.
Aina voi kysyä kaverilta apua! o Juha.Holopainen@countzero.fi