SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Building a webservice in Coldfusion9 and ASP.NET a look at opposing camps
Hi, I'm Eric Fickes ,[object Object],[object Object],[object Object]
A tale of two web stacks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
K.I.S.S. get's you CRUD webservices ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Starting at the bottom, the database ,[object Object]
ORM you glad Adobe didn't say banana?
nHibernate was not as simple
Coldfusion9 Webservice CFC
ASP.NET Webservice ASMX
Let's look at some code and maybe a demo
Coldfusion tips ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
ASP.NET tips ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thank You ,[object Object]

Weitere ähnliche Inhalte

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Kürzlich hochgeladen (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Empfohlen

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Empfohlen (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

Web services Coldfusion9 vs Asp.net

Hinweis der Redaktion

  1. On the internet, end users don't know what technology is powering their experience, and they don't care.     What do they care about? Does it work? Is it awesome? The webservices we're going to be looking at have identical functionality to an end user. This one hour tour is for the coder, the technical decision maker, or just the curious.
  2. This is me in a nutshell. I'm the head button pusher, internet brain for Interactive Design & Technology Studio , wiretree.com. I have to keep my finger on the pulse, so knowing how to pull off web solutions in differing technologies is key. I tweet mostly when I'm working, so be forwarned that it's tech related.  If it's after biz hours, you'll find out about my son Fletch.   Web, I'm there too.
  3. The obvious players to compare are Adobe and Microsoft.   Not the only games in town, but these are the two most common stacks that I work with. These apps were both built on a Windows7 machine running IIS7.  A decision based purely on convenience. On the Adobe side, everything used to build the client and server pieces are out of the box functionality. On the Microsoft side we needed two third party add on. - nHibernate ORM - MySQL's Connector .net data provider These two libraries where used to keep the stack as similar to the Adobe side as possible. Hibernate was used in this app since it's built into Coldfusion9, and it made data access ridiculously simple. ASP.NET 3x comes with LINQ ( .NET Language-Integrated Query ) I'm not familiar enough with LINQ to compare it to Hibernate. Since Coldfusion9 has Hibernate bundled with it, using nHibernate would keep the stacks as similar as possible. This isn't a fair comparison of Adobe's Remoting vs. Microsoft's Remoting, but the demo is fast enough. Flash Remoting uses AMF and is fast. .NET's Remoting uses LINQ and it's own binary format that is only supported by SL. .NET ASMX services are SOAP, so it's a bit slower.
  4. Update and Delete not shown in SL? Can show Update and Delete in ASMX via browser though
  5. simple single table with four columns vid is an auto generated id column the other three columns contain strings same db and table for both stacks same data
  6. Coldfusion9 comes with Hibernate built in. You still have to enable it to use it in your application This is everything required to setup Hibernate in this demo app. Application.cfc - turn on ORM, and set your datasource. VIDEO.cfc - This cfc is used as the Hibernate mapping file between coldfusion and the video table in the database.
  7. nHibernate is an exact port from Java's Hibernate, so let's keep things consistent between the stacks. Not shown here is the NHibernateHelper session factory class.   Every nHibernate operation requires a session.    This singleton class is the recommended way to deal with nHibernate sessions. The setup for nHibernate was not as enjoyable as Hibernate in CF9   Setup : 1.Download and install Connector MySQL .net data provider ( this is what nHibernate uses with MySQL ) 2.Download and install nHibernate   The install process for Connector and nHibernate is primarily adding references in your project to the correct dll files. hibernate.cfg.xml - Next you configure nHibernate to connect to your MySQL DB video.cs - Next you setup your entity class   class notes : - use getter setters - mark properties as public virtual   video.hbm.xml - Next you setup your mapping file tie-ing your entity class to your table in the DB.
  8. Flash Remoting is also enabled in the CF Admin under Flex Integration. If you don't enable Flash Remoting, Flex clients won't be able to call remote CFC functions ( the webservices )   webservices in Coldfusion are built in CFCs the CFC cffunction's have their access set to remote   using ORM cut's down on amount of code to be written   if you're not totally happy with ORM, don't go 100% ORM, mix it up.   
  9. This demo uses standard .net WebServices ASMX .NET has it's own flavor of remoting called WCF Webservices. WCF Webservices are only supported by Silverlight right now. ASMX Webservices can be consumed by anybody The nHibernate code is more like Java's Hibernate than CF9's easy Hibernate. nHibernate still cuts down the amount of code needing to be written, but it's not as simple as CF9's
  10. No Flash Remoting, no dice! When you run into CF errors, the server will suggest you turn this on.  Might as well turn it on while you're setting up your server. While I'm figuring out code, I like to build my function as a standalone block in a test.cfm page. Once complete, refactor that block of code into my cfc cffunction. By setting the cffunction's output to true, you can call this cfc.cffunction in test.cfm and have it spit the results out to the page. This saves time on the server before going all the way to your Flex client to test data services. While it's not terribly helpful, you can view your webservice.cfc in a browser.  The CF server will render it out in a classdoc format. While a sniffer might not help decoding AMF traffic, you must have a good sniifer.
  11. My favorite part of building webservices in .net is the ability to test them in your browser. Loading your webservice.asmx file in a browser first shows you the breakdown of the webservice - each method is a clickable link - clicking a method shows you how to use it via SOAP 1.1, SOAP 1.2, and HTML POST - the method screen also builds a form so you can invoke this webmethod - if the webmethod doesn't receive any input, an "Invoke" button will appear nHibernate's IList doesn't support the IList<genericType> feature, and .net has a hard time serializing when returning from a webservice. If you need to return a collection of custom class objects and you're using nHibernate, after retrieving your nHibernate IList, copy the items into a .net List<genericType> and return that List instead.  ASMX has no problem with this route. Just like when you're working with FlashRemoting, Silverlight also requires access XML files. clientaccess.xml goes in the root of your Silverlight application and crossdomain.xml goes in your webserver's root folder. * these config files are tricky, I had to copy both files to both locations to get things working, but didn't bother figuring out the minimum requirements Do us all a favor and don't even bother with VB.NET. Can't stress enough how important it is to have a network sniffer when you're developing webservices, or really any RIAs that talk to a remote server.