Reif? Scala für Enterprise-Applikationen
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Reif? Scala für Enterprise-Applikationen

on

  • 983 views

Diese Präsentation gibt eine Antwort auf die Frage, ob man Scala in Enterprise-Anwendungen verwenden kann.

Diese Präsentation gibt eine Antwort auf die Frage, ob man Scala in Enterprise-Anwendungen verwenden kann.

Statistics

Views

Total Views
983
Views on SlideShare
983
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Reif? Scala für Enterprise-Applikationen Presentation Transcript

  • 1. Reif ? Scala für Enterprise-ApplikationenDr. Halil-Cem Gürsoy adesso AG
  • 2. Der Referent• Insgesamt über 10 Jahre Beratung und Entwicklung rund um Java, davor Entwicklung im Forschungsumfeld• Senior Software Engineer bei adesso AG, Dortmund• Schwerpunkt EAI und SOA-Projekte im JEE Umfeld, aber auch klassische JEE-Projekte• Autor und Referent auf KonferenzenHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 2
  • 3. Agenda• Motivation• Enterprise ?• Sprache und Syntax• Scala-Versionen und Kompatibilität• IDEs, Build-Systeme und Tool Support• Support und Wartung• FazitHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 3
  • 4. Agenda• Motivation• Enterprise ?• Sprache und Syntax• Scala-Versionen und Kompatibilität• IDEs, Build-Systeme und Tool Support• Support und Wartung• FazitHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 4
  • 5. Motivation• Blog(s) von A. Blewitt • http://alblue.bandlem.com/2009/08/is-scala-ready-for-enterprise.html • http://alblue.bandlem.com/2009/10/scala-is-still-not-enterprise-ready.html• Scala Hype & Fanboyism (?)• Scala zu Akademisch ! ?• Kunden zu empfehlen ?Herbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 5
  • 6. Kurze Scala Historie• Scalable Language• Prof. Martin Odersky, EPFL Pizza (2001) GJ (-2004) Scala (2004)• Scala 2.9: 05.2011Herbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 6
  • 7. Agenda• Motivation• Enterprise ?• Sprache und Syntax• Scala-Versionen und Kompatibilität• IDEs, Build-Systeme und Tool Support• Support und Wartung• FazitHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 7
  • 8. Enterprise – Ein Definitionsversuch• Definitionen ? • „A business organization“ • Unternehmen = Enterprise• A. Blewitts Definition • Twitter – kein Enterprise • Startups – kein Enterprise • 10^n Mitarbeiter, X Millionen € Umsatz = EnterpriseHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 8
  • 9. Enterprise – Eine Definition „Enterprise“ sind alle Unternehmen und Unternehmungen, von deren Erfolg Menschen existentiell abhängenHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 9
  • 10. Agenda• Motivation• Enterprise ?• Sprache und Syntax• Scala-Versionen und Kompatibilität• IDEs, Build-Systeme und Tool Support• Support und Wartung• FazitHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 10
  • 11. Sprache und Syntax - Lesbarkeit• Große Freiheitsgrade der Sprache und der Syntax• Source-Lesbarkeit leidet unter Komplexität• „the source is obfuscated by the syntax“def quickSort[A <% Ordered[A]](xs: List[A]): List[A] = xs match { case Nil => xs case y :: ys => ys partition (_ <= y) match { case (l1, l2) => quickSort(l1) ++ (y :: quickSort(l2)) }}(aus Wikipedia.de)• Erfahrung notwendig!Herbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 11
  • 12. Sprache und Syntax – Beispiel Implicits• „pixie magic called implicits“• Casten von Typen durch implicits• (Komplexes) Regelwerk, wann welche Implicits herangezogen werden (Scopes)• Sehr mächtig!• Übersicht in großen Projekten? Vorsicht...• Nachteil?Herbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 12
  • 13. Sprache und Syntax - Lernkurve• Flache Lernkurve im Vergleich zu Java oder C#• Weniger gut ausgebildete Entwickler• weniger gute Entwickler als bei Java / C# ?• „einfache“ Syntax ist auch ein Nachteil von Java!• verleitet zur (Selbst)Überschätzung!„Ich bin ein Java/Groovy/Python/Ruby-Experte!“Herbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 13
  • 14. Dokumentation• Viel Dokumentation (zu viel?)• Viele Beispiele• Inzwischen viele gute Bücher• „akademische Bücher vs. Praxisbücher“Herbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 14
  • 15. Agenda• Motivation• Enterprise ?• Sprache und Syntax• Scala-Versionen und Kompatibilität• IDEs, Build-Systeme und Tool Support• Support und Wartung• FazitHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 15
  • 16. Scala-Versionen und Kompatibilität• Scala 2.8 nicht binärkompatibel mit 2.7• Scala 2.9 nicht binärkompatibel mit 2.8• Verwendete Frameworks müssen im richtigen „Binärformat“ vorliegen• Upgrade auf neue Scala-Version? • update Dependencys • u.U. update des SourcecodesHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 16
  • 17. Binärkompatibilität• Tatsächlich ein Problem?• Wie oft wechseln Projekte die Basis (z.B. JDK)?• Aber:Tools in einer neuen Version erfordern u.U. neue Scala-Version• Problem? Auch in Java... Herbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 17
  • 18. Agenda• Motivation• Enterprise ?• Sprache und Syntax• Scala-Versionen und Kompatibilität• IDEs, Build-Systeme und Tool Support• Support und Wartung• FazitHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 18
  • 19. IDEs, Build-Systeme und Tool Support• Eclipse • Scala IDE • Seit Scala IDE 2.x (relativ) OK • Entscheiden während der Installation: Scala 2.x oder 2.9 ?• IntelliJ • Gute Unterstützung out of the Box• NetBeans • Gute Unterstützung (?)• Vim / Emacs • Sowieso ;-) Herbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 19
  • 20. Build-Systeme• Simple Build Tool (sbt) • In Scala für Scala • Scala-Versionshandling • Hudson / Jenkins PluginMaven • Ist möglich... • gleiche Bugs und Probleme wie bei Java-Projekten• Gradle • Scala PluginHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 20
  • 21. Toolchain und Integration• Herausforderungen mit sbt • sbt-Projekt in Eclipse importieren? • → sbteclipse • sbt-Projekt in IDEA importieren? • → Plugin • Bisher keine Integration von sbt in Eclipse oder IDEA analog zu Ant oder Maven (m2e) • Stört?Herbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 21
  • 22. Tools und Frameworks• Fast alle Java Frameworks • Hibernate / JPA, Log4J, Spring (!) usw. usw. • Conversions beachten ! • AOP-Frameworks...• Pure Scala Frameworks • Wachsende Anzahl, z.B. für Unittests (specs) • Webframeworks • Aber immer Abhängigkeit zur Scala-VersionHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 22
  • 23. Agenda• Motivation• Enterprise ?• Sprache und Syntax• Scala-Versionen und Kompatibilität• IDEs, Build-Systeme und Tool Support• Support und Wartung• FazitHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 23
  • 24. Support und Wartung• „Wen kann ich denn verklagen?“• Problem in konservativem Projektumfeld• Typisch Deutsch ;-)• Seit 2011: Typesafe • Von den „Machern“ von Scala und Akka • Kommerzieller Support für den „Typesafe Stack“ • Scala, Akka, Scala IDE, sbtHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 24
  • 25. Agenda• Motivation• Enterprise ?• Sprache und Syntax• Scala-Versionen und Kompatibilität• IDEs, Build-Systeme und Tool Support• Support und Wartung• FazitHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 25
  • 26. Fazit• Sprache und Syntax• Lernkurve, Verfügbarkeit• Scala-Versionen und Binärkompatibilität• IDE-Integration• Build-Systeme• Tools und Frameworks• Support und WartungHerbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 26
  • 27. Fazit Scala ist Reif für Enterprise!Herbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 27
  • 28. Herbstcampus 2011 – Reif? - Scala für Enterprise-Applikationen 28
  • 29. Vielen Dank!Dr. Halil-Cem Gürsoy adesso AG @hgutwit & http://goo.gl/hljRS
  • 30. Wir suchen Sie als Software Architekt (m/w) Projektleiter (m/w) Senior Software Engineer (m/w)jobs@adesso.dewww.AAAjobs.de