The document discusses implementing service-oriented architecture (SOA) using web services in C++. It provides reasons for using C++, such as performance advantages and tight control over memory and CPU. It then discusses how a native web services stack can help integrate legacy C++ systems and provide new capabilities without rewriting code. The stack should support web service standards, code generation from WSDL, portability, low memory usage, security, handling binary data, interoperability, and asynchronous communication. It presents the WSF/C++ stack as fulfilling these requirements through support for standards, security, low-level control, and interoperability testing.
This document discusses COM+ and MSMQ as application services that provide middleware functionality to enable scalable, distributed applications. COM+ provides a runtime environment for COM components and includes features like declarative attributes, distributed transaction coordination, and administration tools. MSMQ provides a rich messaging programming model and infrastructure for flexible messaging like exactly-once delivery. The document outlines problems like complex server programming and security that COM+ and MSMQ aim to simplify through features such as queued components, role-based security, and load balancing.
Summary of the new features of Google Cloud in Cloud Next 2020.
Speaker: Sergio Gordillo, Cloud Architect and Business Development Manager en Keepler Data Tech.
Watch the webinar! https://www.youtube.com/watch?v=TxgLMj773E0
More info, visit www.keepler.io
This document discusses zero downtime architectures. It defines zero downtime as services being available to end users at all times. It identifies sources of planned and unplanned downtime. It proposes concepts like independent application groups, redundant infrastructure within and between datacenters, and replicating data between datacenters to reduce downtime. It provides examples of implementing high availability for networks, applications, and databases. It also discusses development guidelines and monitoring to support zero downtime operations.
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthNicolas Brousse
TubeMogul grew from few servers to over two thousands servers and handling over one trillion http requests a month, processed in less than 50ms each. To keep up with the fast growth, the SRE team had to implement an efficient Continuous Delivery infrastructure that allowed to do over 10,000 puppet deployment and 8,500 application deployment in 2014. In this presentation, we will cover the nuts and bolts of the TubeMogul operations engineering team and how they overcome challenges.
1. Microservices architecture breaks down an application into isolated, collaborating services that communicate with each other. This allows for independent scaling and technology choices for each service.
2. Reasons for the rise of microservices include the startup boom in the late 2000s, growth of cloud services, and increased comfort with distributed systems.
3. Examples of applications that can benefit from a microservices architecture include online shopping sites, food delivery apps, and laundry services, by decomposing them into independent services like product info, pricing, orders, inventory, and reviews.
This document outlines the agenda and content for a code session on microservices. It will cover:
- An overview of microservices architecture and attributes
- Service discovery using Consul and a demo
- Protocol Buffers for data serialization and an example
- RPC and Google's gRPC with an example
- The structure of services at Yotpo and the workflow for creating a new service
- Shared utilities for services including service discovery and logging
- Deployment using Makefiles and Travis
- A live demo of creating a new microservice
The document discusses public cloud computing concepts including cloud infrastructure, services, and architectures. Some key points:
- Cloud provides on-demand access to computing resources like servers and storage over the internet. Major cloud providers include AWS, Azure, and Google Cloud.
- Cloud services include Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), and Function as a Service (FaaS).
- Microservices architecture breaks applications into small, independent services that communicate over the network. This allows independent scaling and improves resilience.
- Auto scaling helps automatically scale cloud resources like servers up and down based on demand to optimize costs and performance.
Multi-Tenant SOA Middleware for Cloud ComputingWSO2
This document discusses an architecture for multi-tenant SOA middleware for cloud computing. It proposes isolating tenants through unique security domains, storing tenant data separately in databases, and maintaining separate execution contexts. The WSO2 Carbon platform is presented as implementing this approach, with the Stratos cloud platform allowing scalable deployment. Challenges discussed include tenant partitioning, application descriptions, discovery, and hybrid cloud support.
A brief intro to microservice patters and strategies.
This is a presentation from the series "by Developer for Developers" powered by eSolutions Grup.
You can find the practical example at https://github.com/eSolutionsGrup/microshop
Service Mesh and Serverless Chatbots with Linkerd, K8s and OpenFaaSSoftware Guru
This session will present the different challenges for telco companies when they deploy support chatbots for clients, this is based on a real experience of working with chatbots in a
telco company Telefónica based on Guatemala and some countries in Central America.
Presentado por Sergio Méndez en SG Virtual Conference 2020
Microservices with Node & Docker allow for building and deploying applications as independent services that can scale independently. Docker provides lightweight isolated environments for running services, while Node is well-suited as a platform due to its asynchronous and non-blocking I/O model and ease of building scalable network services. Together, Docker and Node enable a microservices architecture with improved developer productivity, deployment flexibility, and scalability compared to traditional monolithic applications.
This document provides an overview of JavaScript for enterprise applications. It discusses why JavaScript has a reputation for being weak and dynamic, and responses to common accusations about JavaScript. It also covers JavaScript paradigms like structured programming, object-oriented programming, functional programming, and event-driven programming. Additionally, it summarizes Node.js runtime, ES6 features, generators, Ramda.js, communicating sequential processes, Koa.js, PM2 process manager, and building hybrid mobile apps with Cordova.
The document introduces the Loopback framework for rapidly building apps with Node.js. It discusses how Loopback allows developers to define models and relations, and then exposes CRUD APIs without writing additional code. Loopback also provides features like authentication, authorization, data integration, and client SDKs out of the box. While the documentation could be clearer and there are still some glitches, Loopback allows developers to deliver technical solutions much faster by writing less boilerplate code.
Migration to cloud is no easy task. Start small and learn the core technologies before leveraging the advanced features of the cloud. The cultural change will affect the whole organization from development to business management and sales.
Cloud native applications are the future of software. Modern software is stateless, provided from cloud to heterogeneous clients on demand and designed to be scalable and resilient.
Technical Webinar: Patterns for Integrating Your Salesforce App with Off-Plat...CodeScience
Patterns for Integrating Your Salesforce App with Off-Platform Apps
Integrating Salesforce applications with additional off-platform apps can dramatically extend the capability of powerful business apps. From ERP systems to custom apps, integrating with Salesforce can help streamline essential processes, saving your business valuable time and money. In our latest tech webinar, CodeScience Technical Architect Mark Pond dives into Salesforce integration patterns and the positive impacts they can deliver.
In this technical webinar, you will learn:
- Several common Salesforce integration patterns
- Integration pattern pitfalls
- How to leverage a custom queue to automate background work
- Deliverability and reporting advantages of custom queues
Watch today to learn how automated testing can take your enterprise solutions to the next level.
.NET Cloud-Native Bootcamp- Los AngelesVMware Tanzu
This document outlines an agenda for a .NET cloud-native bootcamp. The bootcamp will introduce practices, platforms and tools for building modern .NET applications, including microservices, Cloud Foundry, and cloud-native .NET technologies and patterns. The agenda includes sessions on microservices, Cloud Foundry, hands-on exercises, and a wrap up. Break times are scheduled between sessions.
Ato Z of Microservices Architecture by SystangoSystango
In the world of software engineering, Microservices has emerged as a big buzzword. The simplest way to understand a microservice is that it’s an application that does only one thing, and does it really well. We have put together a presentation for you explaining the same in detail. Know more at - https://bit.ly/2Il5WRv
On-demand recording: https://nginx.webex.com/nginx/lsr.php?RCID=419169e2cde399547cdbcf947fa1b590
NGINX Plus Release 10 (R10) is one of the biggest releases of NGINX Plus in years. NGINX Plus extends open source NGINX with advanced functionality and award-winning support, providing customers with a complete application delivery solution. NGINX Plus R10 features cutting-edge capabilities in security, reverse proxying, and scriptability. The new features in R10 will help you take your NGINX Plus deployments to the next level.
The native JavaScript-like scripting language, nginScript, has been enhanced. You can now use sophisticated policies to manage, shape, and transform application traffic.
In addition, in this webinar with Owen Garrett, Head of Products at NGINX, you will learn about these great new features:
* ModSecurity WAF – The ModSecurity web application firewall (WAF), the Swiss Army® knife of security, has been ported to NGINX Plus. The ModSecurity WAF is now available as an option in our dynamic modules repository.
* JWT support – You can now offload authentication to NGINX Plus using the open JSON Web Tokens (JWT) standard.
* Dual ECC and RSA certificate support – Improve SSL/TLS performance with ECC certificates while maintaining backwards compatibility with RSA standards.
* Transparent proxy support – With IP transparency, backend servers can now "see" the client's IP address, enabling fast, direct server-client communications.
Viktor Turskyi "Effective NodeJS Application Development"Fwdays
For 15 years in development, I managed to take part in the creation of a large number of various projects. I have already made a number of talks on the working architecture of Web applications, but this is only part of the efficient development puzzle. We will consider the whole process from the start of the project to its launch in production. I’ll tell you how we approach the ideas of the “12 Factor App”, how we use the docker, discuss environment deployment issues, security issues, testing issues, discuss the nuances of SDLC and much more.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
At its core, the challenge of managing Human Resources data is an integration challenge: estimates range from 2-3 HR systems in use at a typical SMB, up to a few dozen systems implemented amongst enterprise HR departments, and these systems seldom integrate seamlessly between themselves. Providing a multi-tenant, cloud-native solution to integrate these hundreds of HR-related systems, normalize their disparate data models and then render that consolidated information for stakeholder decision making has been a substantial undertaking, but one significantly eased by leveraging Ballerina. In this session, we’ll cover:
The overall software architecture for VHR’s Cloud Data Platform
Critical decision points leading to adoption of Ballerina for the CDP
Ballerina’s role in multiple evolutionary steps to the current architecture
Roadmap for the CDP architecture and plans for Ballerina
WSO2’s partnership in bringing continual success for the CD
The integration landscape is changing rapidly with the introduction of technologies like GraphQL, gRPC, stream processing, iPaaS, and platformless. However, not all existing applications and industries can keep up with these new technologies. Certain industries, like manufacturing, logistics, and finance, still rely on well-established EDI-based message formats. Some applications use XML or CSV with file-based communications, while others have strict on premises deployment requirements. This talk focuses on how Ballerina's built-in integration capabilities can bridge the gap between "old" and "new" technologies, modernizing enterprise applications without disrupting business operations.
Platformless Horizons for Digital AdaptabilityWSO2
In this keynote, Asanka Abeysinghe, CTO,WSO2 will explore the shift towards platformless technology ecosystems and their importance in driving digital adaptability and innovation. We will discuss strategies for leveraging decentralized architectures and integrating diverse technologies, with a focus on building resilient, flexible, and future-ready IT infrastructures. We will also highlight WSO2's roadmap, emphasizing our commitment to supporting this transformative journey with our evolving product suite.
Quantum computers are rapidly evolving and are promising significant advantages in domains like machine learning or optimization, to name but a few areas. In this keynote we sketch the underpinnings of quantum computing, show some of the inherent advantages, highlight some application areas, and show how quantum applications are built.
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxSynapseIndia
Your comprehensive guide to RPA in healthcare for 2024. Explore the benefits, use cases, and emerging trends of robotic process automation. Understand the challenges and prepare for the future of healthcare automation
Coordinate Systems in FME 101 - Webinar SlidesSafe Software
If you’ve ever had to analyze a map or GPS data, chances are you’ve encountered and even worked with coordinate systems. As historical data continually updates through GPS, understanding coordinate systems is increasingly crucial. However, not everyone knows why they exist or how to effectively use them for data-driven insights.
During this webinar, you’ll learn exactly what coordinate systems are and how you can use FME to maintain and transform your data’s coordinate systems in an easy-to-digest way, accurately representing the geographical space that it exists within. During this webinar, you will have the chance to:
- Enhance Your Understanding: Gain a clear overview of what coordinate systems are and their value
- Learn Practical Applications: Why we need datams and projections, plus units between coordinate systems
- Maximize with FME: Understand how FME handles coordinate systems, including a brief summary of the 3 main reprojectors
- Custom Coordinate Systems: Learn how to work with FME and coordinate systems beyond what is natively supported
- Look Ahead: Gain insights into where FME is headed with coordinate systems in the future
Don’t miss the opportunity to improve the value you receive from your coordinate system data, ultimately allowing you to streamline your data analysis and maximize your time. See you there!
7 Most Powerful Solar Storms in the History of Earth.pdfEnterprise Wired
Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).
Mitigating the Impact of State Management in Cloud Stream Processing SystemsScyllaDB
Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states.
In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing.
Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.
Implementations of Fused Deposition Modeling in real worldEmerging Tech
The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries:
1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes.
2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions.
3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines.
4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors.
5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering.
6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands.
7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems.
8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering.
9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively.
Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.
How RPA Help in the Transportation and Logistics Industry.pptxSynapseIndia
Revolutionize your transportation processes with our cutting-edge RPA software. Automate repetitive tasks, reduce costs, and enhance efficiency in the logistics sector with our advanced solutions.
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Erasmo Purificato
Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)
Comparison Table of DiskWarrior Alternatives.pdfAndrey Yasko
To help you choose the best DiskWarrior alternative, we've compiled a comparison table summarizing the features, pros, cons, and pricing of six alternatives.
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
The Rise of Supernetwork Data Intensive ComputingLarry Smarr
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfjackson110191
These fighter aircraft have uses outside of traditional combat situations. They are essential in defending India's territorial integrity, averting dangers, and delivering aid to those in need during natural calamities. Additionally, the IAF improves its interoperability and fortifies international military alliances by working together and conducting joint exercises with other air forces.
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
YOUR RELIABLE WEB DESIGN & DEVELOPMENT TEAM — FOR LASTING SUCCESS
WPRiders is a web development company specialized in WordPress and WooCommerce websites and plugins for customers around the world. The company is headquartered in Bucharest, Romania, but our team members are located all over the world. Our customers are primarily from the US and Western Europe, but we have clients from Australia, Canada and other areas as well.
Some facts about WPRiders and why we are one of the best firms around:
More than 700 five-star reviews! You can check them here.
1500 WordPress projects delivered.
We respond 80% faster than other firms! Data provided by Freshdesk.
We’ve been in business since 2015.
We are located in 7 countries and have 22 team members.
With so many projects delivered, our team knows what works and what doesn’t when it comes to WordPress and WooCommerce.
Our team members are:
- highly experienced developers (employees & contractors with 5 -10+ years of experience),
- great designers with an eye for UX/UI with 10+ years of experience
- project managers with development background who speak both tech and non-tech
- QA specialists
- Conversion Rate Optimisation - CRO experts
They are all working together to provide you with the best possible service. We are passionate about WordPress, and we love creating custom solutions that help our clients achieve their goals.
At WPRiders, we are committed to building long-term relationships with our clients. We believe in accountability, in doing the right thing, as well as in transparency and open communication. You can read more about WPRiders on the About us page.
1. C++ In SOA
Nandika Jayawardana
Tech Lead, WSO2, Inc
nandika@wso2.com
2. Introduction to SOA in C++
● In this presentation we will look in to the
implementation of SOA using Web Services in
the C/C++ world from a native Web Services
Stack's point of View.
3. Why use C++
● C++ is still widely used in the industry due to
● Performance advantage of the native code
● Flexibility available from object oriented
language
● Tight control over memory and CPU
4. Typical applications that use
C++
● Applications which require high performance
and the ability to handle large volumes of
data
● Financial Market Applications
● Large E-Commerce applications
● Banking Applications
● Telecommunication Systems
● Data Base Systems
● Applications which require tight control over
memory and CPU
● Operating Systems (C/C++)
● Embedded Systems
5. Some Use cases
● A legacy C++ system which has been performing
useful work for a long time. This has remained
isolated while all other systems in the
organization evolved and connected together.
● Need to integrate this system with other
applications to use its functionality in a broader
perspective.
● Options
● Rewrite the system ( Costly )
● Integrate using EAI
● Integrate using a native Web Services Stack
6. Some Use Cases
SAP
.NET
Legacy
System Secure, Reliable, Binary
J2EE
Web Services
CICS
Java
7. Some Use cases
● A high performance application is used in an
organization (Telecommunication, Banking )
● Need to provide new products and services
using the system on a regular basis to keep up
with market competition
● Difficult to keep changing, adding new
functionality to the existing system
● Does a better way exist to cater for the new
requirements without the hassle of change or
loosing the performance ?
8. Some Use cases
● I need my embedded system (camera, car,
printer, robot, ... ) to be able to talk to
external systems which are running
heterogeneous hardware and software
9. SOA
● Decomposing business function into
reusable, independent components which
communicate using standard protocols with
messages and semantics defined by
contracts.
● SOA is an Enterprise Architecture
● The application using a service should be
independent of the location and
implementation of any services it uses
11. Why SOA
● SOA simplifies connecting systems
● Integration is driven by number of factors
● Straight-through-processing
● Handling web transactions without manual
intervention, leading to greater scalability
● Mergers and De-mergers
● The increasing change in organizational structure is
making loosely-coupled connections more important
● Partnerships
● Outsourcing
● Time to Value
12. Native Web Services Stack
● What would you look from a native web
services stack to solve the above stated
problems ?
● Support for Basic Web Services Standards
● Tooling for WSDL
● Portability
● Performance / Low memory foot print
● Security
● Ability to handle binary data
● Interoperability
● Asynchronous communication
14. Working with WSDL
● WSDL (Web Service Description Language)
● defines a service contract
● Focuses on:
● What the messages are
● Schema
● How they flow (in, in-out, etc)
● Message Exchange Pattern
● Where they are
● Endpoint URLs
15. Working with WSDL
● WSDL is complex
● WSDL is intended to be machine readable
and machine processable
● Typical approaches to building services and
clients using WSDL
● Code Generation ( Common)
● Dynamic Invocation ( Rare )
17. Advantages of Code Generation
● All complex details of mappings between
C++ types and XML schema types are handled
by the generated code.
● The developer deals with C++ types
● Quickly develop services and clients
● Faster than the dynamic invocation technique
● Developer can concentrate on his business
logic
18. Working with WSDL in WSF/C++
● Comes with built in Code Generation tool.
● Generates Client Stubs, Service Skeletons,
Service descriptors and Build scripts.
● Generating a Service Skeleton
Linux: sh WSDL2CPP.sh -uri calculator.wsdl -ss -sd -d adb -u
Windows: WSDL2CPP.bat -uri calculator.wsdl -ss -sd -d adb -u
● Generating a Client Stub
Linux: sh WSDL2CPP.sh -uri calculator.wsdl -d adb -u
Windows WSDL2CPP.bat -uri calculator.wsdl -d adb -u
20. Using WSF/C++
● Supports multiple platforms
● Linux
● Windows
● Solaris
21. Portability
● My legacy application is running on platform
'X'. Does your Web Service stack run on it ?
● It can boil down to multitude of issues
● Differences in operating system versions
● Differences in build tool versions, compiler
versions
● Dependency problems
22. Performance
● Performance is a broad area. Usually
Performance means response time. In another
way, how many requests can the server
handle per second
● However, performance depends on the
system's hardware as well as load on the
system
● Does the performance stay constant or does it
degrade over time
● How does the performance vary with the size
of the messages, load of the system
23. Low Memory Foot Print
● Some servers take large amount of memory
just to start up
● How much memory does it require to run
efficiently ( Important in embedded systems)
● Does the memory usage stay constant while
handling large xml messages, large binary
content
24. Security
● Important, confidential data need to be
exchanged between parties.
● Transport Level security
● Message Level Security
25. Security Terminology
● Confidentiality
● The assurance that the message has not been read
by anyone other than the intended reader
● Integrity
● The assurance that data is complete and accurate
● Non-repudiation
● Prevent denial of action
● unforgeable evidence
● Authentication
● The verification of a claimed identity
26. Transport Level Security
● Achieved by using HTTPS
● Provides confidentiality through encryption
● Provides integrity through digital signature
● Service authenticate to client via certificates
● Client can authenticate to the service via
certificates / basic, digest authentication
29. Message Level Security
● Achieved using WS-Security
● Authentication with UsernameToken
● Provides confidentiality through encryption
● Provides integrity and non-repudiation
through digital signature
30. Security with WSF/C++
● Supports Both transport Level security and
Message Level Security
● Security is configured using WS-Security
Policy
● Client is configured by specifying the policy
configuration.
● Service is configured for security by the
deployment script
● Eg
ServiceClient sc(client_repo, end_point);
sc.engageModule(“rampart”);
sc.setPolicy(new NeethiPolicy(security_policy_file));
31. Handling binary data
● “Attachments”
● Video, Images, Documents, ...
● There are two ways to transfer binary data in
SOAP
● By Value (Encoded text of data within the xml)
● base64 – 4/3x original size
● hex – 2x original size
● Reference
● pointer to outside the XML
● MTOM/XOP
● Standardised approach to transfer binary data
32. Attachment handling with
WSF/C++
● Supports
● Base64
● MTOM and SwA
● Support for caching large attachments
● Class DataHandler which handles binary content
// Enable mtom in the options object.
options->setEnableMTOM(true);
// Create a Data Handler with the image
OMDataHandler * data_handler = new
OMDataHandler(image_file_name, "image/jpeg");
// Create OMText with Data Handler
OMText * child3 = new OMText(child2, data_handler);
33. Interoperability
● The ability of two or more systems or
components to exchange information and to
use the information that has been exchanged
● Achieved by adherence to the specifications
and regular testing against other systems
● Interoperability with the major SOA players
guarantees that you services will be accessible
by other products and your clients will be
able to talk to other services
34. WSF/C++ and Interoperability
● Interoperability tested with .Net, Axis2 and
other Java Web Services Stacks
● Has been tested with data types (Complex,
Simple) as well as advanced features such as
XOP/MTOM, WS-Security, WS-RM
35. WSF/C++
● SOAP 1.1 and SOAP 1.2
● WS-Addressing
● 1.0
● submission
● MTOM and SwA
● Support for caching large attachments
● WS-Security
● Base security standards mean that messages can be
protected using Encryption, Authentication and Signature
● Including WS-SecureConversation and WS-Trust
● WSDL2CPP Code Generation tool
● Supports generating client stubs, service skeletons, build
scripts and deployment scripts
36. WSF/C++
● WS-Policy and WS-Security Policy
● Enables using industry standard XML to configure security
● SSL Enabled Transport Layer
● WS-Reliable Messaging 1.0, 1.1 and WS-RMPolicy
● Enables reliability between platforms including message resending, duplicate
detection and persistence
● Full REST support (GET, PUT, DELETE, POST)
with custom URI Mapping
● Enables mapping a REST API easily and naturally
● Useful tools
● Tcpmon
● wsclient