Cartographie - cas concrets et bonnes pratiques de développement

  • 570 views
Uploaded on

Présentation sur le développement N-Tiers, utilisation dans un cas concret utilisant de la cartographie interactive et le Framework .Net

Présentation sur le développement N-Tiers, utilisation dans un cas concret utilisant de la cartographie interactive et le Framework .Net

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
570
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
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. Emplacement éventuel pour votre logo
  • 2. Emplacement éventuel pour votre logo
  • 3. IntroductionPrésentations fonctionnelle et techniqueIntroduction à SQL Server et le typegéographiqueIntroduction au développement N-TiersDéveloppement d’un service d’exposition dedonnées AJAXConclusions 7
  • 4. Quels patterns de développement connaissez-vous ?Selon vous• Est-ce réellement utilisé en entreprise ?• Est-ce lié à un langage ou une plateforme ?• Quel intérêt pour le développeur ?• Ces principes sont-ils limités à l’informatique ? 9
  • 5. Notions abordées• Présentation et mise en pratique de SQL Server• Développement .Net :  Accès aux données, définition des classes et exposition web• Développement JavaScript :  Appel asynchrone, utilisation de jQueryNotions non abordées dans cette session• Utilisation avancée de SQL Server• Utilisation et développement avancé en .Net• Développement avec ASP.Net MVC• Utilisation avancée de Bing Maps ou customisation10
  • 6. Description de l’interface Recherche (géocodage) Carte interactive Recherche à proximité : Déclenchée sur le clic sur la carte 12
  • 7. Besoins• Interface cartographique web interactive• Recherche de proximitéContraintes de développement• Etablir un couplage lâche entre chaque couche applicative :  Du stockage des données à la présentation• Utilisation des technologies Microsoft  Base de données SQL Server  Développement utilisant le Framework .Net  Utilisation de l’API Bing Maps for Enterprise – contrôle AJAX v7 13
  • 8. Vue globale Serveur de base de Serveur applicatif Web - Navigateurdonnées – SQL Server IIS Utilisateur 15
  • 9. Utilisation du type géographique
  • 10. Historique• Ajouté pour la première fois dans SQL Server 2008• Correspond à un type CLR – utilisant un type de données spécialisé• Introduit en même temps que les types :  Geometry  HiearchyId  Geography• Amélioré en SQL Server 2012 17
  • 11. En détails• Capacité de stockage de données géographiques  Point, lignes, polygones…• Evite la gestion de tables de coordonnées• Permets d’effectuer des opérations avancées à partir de méthodes standards 18
  • 12. Intérêts• Ajout de capacité spatiales à vos données• Utilisation d’index spatiaux dédiés• Manipulation simplifiée et standards 19
  • 13. Utilisation concrète • Déclaration des éléments en texte standard : WKTPOINT(4 45) • Déclaration d’autres types d’éléments géographiques :LINESTRING(3 45,4 45,4 44)POLYGON((3 45,4 44,4 45,3 45)) • WKT est un standard OGC :  http://en.wikipedia.org/wiki/Well-known_text  http://msdn.microsoft.com/en-us/library/bb895235.aspx 20
  • 14. Utilisation avancée• Possibilité d’utilisation de méthodes avancées  STIntersects()  STBuffer()  STArea() ? = Intersects  STDistance() 1 21
  • 15. Création de la procédure stockéeALTER PROCEDURE City_SelectNearby @pCenterLat as float, @pCenterLng as float, @pRadius as intASBEGIN DECLARE @area as GEOGRAPHY SET @area = GEOGRAPHY::STGeomFromText(POINT( + CAST(@pCenterLng as varchar(max))+ + CAST(@pCenterLat as varchar(max)) + ), 4326); SELECT c.[City] as Name, CAST(c.[Population] as varchar) as Description, c.[Location].Lat as Latitude, c.[Location].Long as Longitude FROM Cities c WHERE c.[Location].STIntersects(@area.STBuffer(@pRadius)) = 1ENDGO 22
  • 16. Utilisation de SQL Server 2008 et du type géographique 23
  • 17. Utilisation par la pratique à travers le Framework .Net
  • 18. Principe général• Séparer les différentes les développements par des couches logicielles• Améliorer la maintenabilité et l’évolutivité des développements• Simplifier les développements 25
  • 19. Description précise• Présentation du pattern Repository Exposition and Repositories Business Presentation 26
  • 20. Description précise• Présentation du pattern Repository Repositories Business Exposition and Presentation IRepository Services Web Services SqlServerRepository Entities JavaScript XmlRepository 27
  • 21. Intérêts• Réutilisation et mutualisation des développements• Simplification• Développement logique• S’applique à toutes technologies 28
  • 22. Etape 1 : Création de la structure de projetEtape 2 : Développement de la couche d’accèsaux donnéesEtape 3 : Construction de la couche métier et desentités métiers 29
  • 23. Création des projets et développement 30
  • 24. Utilisation par la pratique à travers le Framework .Net
  • 25. Etape 4 : Création du Web Services d’exposition de données • Ajout de l’attribut ScriptService[System.Web.Script.Services.ScriptService]public class GeoService : System.Web.Services.WebService • Ajout des attributs de visibilité et exposition sur les méthodes souhaitées[WebMethod][ScriptMethod]public string HelloWorld() 32
  • 26. Etape 5 : Création du code client JavaScript d’appel asynchrone • Utilisation avec la librairie jQuery  http://jquery.com/ • Exemple de code d’appel :$.ajax({ url: composedUrl, data: JSON.stringify(dataObject), type: "POST", contentType: application/json; charset=utf-8, success: onGetCitiesNearbySuccess, error: onGetCitiesNearbyError}); 33
  • 27. Développement du Web Service et JavaScript 34
  • 28. 35