The POCO C++ Libraries for Device Software Development
|
|
|
- Colin Bond
- 10 years ago
- Views:
Transcription
1 The POCO C++ Libraries for Device Software Development White Paper Version 2.0
2 Purpose of This Document This document gives an overview of the Applied Informatics POCO C++ Libraries, a collection of class libraries and frameworks that greatly simplifies the development of network-centric and platform-independent applications in C++. The document is targeted at developers and development/technical managers wanting to get an overview of the functionality and features offered by the Applied Informatics POCO C++ Libraries. Familiarity with the C++ programming language is assumed. Validity of This Document This document covers release 1.3 and later releases of the Applied Informatics POCO C++ Libraries. Copyright, Trademarks, Disclaimer Copyright , Applied Informatics Software Engineering GmbH. All rights reserved. All trademarks or registered marks in this document belong to their respective owners. Information in this document is subject to change without notice and does not represent a commitment on the part of Applied Informatics. This document is provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the particular purpose. Applied Informatics reserves the right to make improvements and/or changes to this document or the products described herein at any time.
3 Table of Contents 1 Executive Summary Introduction Libraries and Frameworks The Foundation Library Core Streams Threading DateTime Filesystem Logging Processes Shared Libraries Notifications Events Crypt Text Regular Expressions URI UUID Cache The Net Library NetCore Sockets Reactor MIME Messages HTTP FTP Mail HTML The NetSSL Library The XML Library SAX DOM XMLWriter The Util Library Configuration Files Command Line Options Tools and Server Applications The Data Library 16 3 Portability and Platforms Supported Platforms Porting Target Platform Requirements C++ Compiler Requirements 18 4 Support, Licensing and Contact...19
4 White Paper 4/19 1 Executive Summary This document gives an overview of the Applied Informatics POCO C++ Libraries (formerly C++ Portable Components). The POCO C++ Libraries are a collection of open-source class libraries that simplify the development of network-centric, portable applications in C++. The libraries integrate perfectly with the C++ Standard Library and fill many of the functional gaps left open by it. Their modular and efficient design and implementation makes the POCO C++ Libraries extremely well suited for device software development, an area where the C++ programming language is becoming increasingly popular, due to its suitability for both low-level (device I/O, interrupt handlers, etc.) and high-level object-oriented development. The POCO C++ Libraries help developers to focus on the unique core features of the product they are developing the features that will ultimately sell the product. By reusing the tried and tested components provided by the POCO C++ Libraries, developers do not need to waste valuable time and resources re-inventing the wheel. The classes provided by the Applied Informatics POCO C++ Libraries provide support for multi-threading, streams, logging and error reporting, accessing the filesystem, shared libraries and class loading, configuration file and command line handling, security, network programming (TCP/IP sockets, HTTP, FTP, SMTP, SSL/TLS, etc.), XML parsing (SAX2 and DOM) and generation, as well as SQL database access.
5 White Paper 5/19 2 Introduction C++ is slowly but steadily replacing C as the programming language of choice for embedded or device software development. While C++ has long been considered prohibitively resource intensive for embedded devices, with today's available powerful embedded hardware this is certainly no longer the case. For example, today's smart phones have roughly the same computing power (in terms of processor performance and memory capacity) than engineering workstations from 12 years ago, and 32-bit RISC microprocessors are state-of-the-art for embedded platforms. What makes C++ quite unique among programming languages is that it covers the full range from low-level programming (interrupt service routines, direct hardware access) to high-level programming (classes, generic programming) in one language, without the need to connect both ends via awkward artificial interfacing mechanisms. With the software for embedded devices becoming more and more sophisticated, the high level abstractions of C++ are certainly needed in addition to its suitability for low-level programming. What is missing from C++, however, is a rich standard library comparable to the Java and.net class libraries and frameworks. The C++ standard library is a first step in this direction, but it still lacks important features such as filesystem access and multithreading support. While there is a large number of both commercial and open source class libraries filling this gap available today, many of these libraries integrate very poorly with the standard library. Even more so, they do not play very well with each other. They often bring their own string and collection classes, thus complicating their integration in existing code bases. Furthermore, since they duplicate the functionality of the standard library, they significantly increase the code size of the applications that use them. This is an issue specifically for embedded applications, where memory footprint is an important factor. The Applied Informatics POCO C++ Libraries (formerly known as the C++ Portable Components) have been designed to fill the gaps left open by the C++ standard library. Unlike other class libraries, the POCO C++ Libraries have been designed for extreme modularity. You only take those classes and frameworks that you need for your particular project from the library, so the stuff that you do not need will not unnecessarily bloat your binaries. To accomplish this goal, the POCO C++ Libraries are delivered in source code form. Furthermore, an easy-to-use configuration builder application (PocoBuilder) is included that allows you to easily create your custom version of the POCO C++ Libraries, containing only those features you need for your specific project. The Applied Informatics POCO C++ Libraries help you and your developers to focus on your product's unique core features the features that will ultimately sell your product. Developers do not need to waste valuable time and resources re-inventing the wheel.
6 White Paper 6/19 3 Libraries and Frameworks The POCO C++ Libraries consist of a number of tried and tested class libraries and frameworks that greatly simplify the development of portable, network-centric C++ applications. While the POCO C++ Libraries also support typical desktop and server platforms (Windows, Mac OS X, Linux, Solaris, HP-UX, Tru64), they are extremely well suited for embedded platforms, such as embedded Linux, QNX or VxWorks. The POCO C++ Libraries have been designed so that they allow you to take out only those components needed for your particular application there is no need to always embed the overhead of the entire package to your application unless you really need it. Figure 1 gives a coarse overview of the architecture of the POCO C++ Libraries. The heart of POCO is the Foundation library. Among other useful classes and frameworks, the Foundation library provides numerous classes that shield the programmer from the underlying operating system application programming interface (API), and thus enable true crossplatform programming in a write once compile anywhere sense. While embedded development is still often a tightrope walk between high-level abstractions fostering maintainability and portability and maximum code efficiency, especially maintainability and code portability are becoming increasingly important. After all, hardware platforms and operating systems change more frequently than the software systems that run on them. With hardware platforms being commodities these days, it is the software that contains your company's valuable intellectual property. The POCO C++ Libraries include a deliberately thin platform abstraction layer that is extremely well suited for embedded platforms, putting only very little overhead between your software and the target hardware. Figure 1 POCO C++ Libraries Overview Built upon the Foundation library are various libraries providing higherlevel functions. The Net library provides implementations of various network protocols and servers like HTTP, FTP, SMTP and others. The XML
7 White Paper 7/19 library provides an XML parser and writer, supporting the industrystandard SAX2 (Simple API for XML, Version 2) and DOM (Document Object Model) interface specifications. The Util library offers classes for processing configuration files and command line arguments, as well as a framework for creating server applications, implemented as Unix daemons or Windows services. Finally, the Data library provides uniform access to various SQL databases. For embedded applications, the SQLite database engine is supported. The POCO C++ Libraries are entirely based on the C++ standard library, including the Standard Template Library (STL). Therefore, unlike many other libraries, the POCO C++ Libraries do not bring in their own string and collection classes, which eases their integration into your own projects. However, extensive use of STL classes can lead to increased code size, due to code duplication caused by template instantiations. To avoid code bloat, the POCO C++ Libraries only use a subset of the classes provided by the C++ standard library strings, I/O streams and some of the container classes. Some C++ compilers for embedded platforms bring their own customized versions of the C++ standard library, containing only a subset of the functionality defined by the standard, with the goal of reducing the memory footprint of the library. It is possible to use the POCO C++ Libraries with these restricted libraries (although restrictions might apply, depending on what is provided by the actual standard library implementation). The POCO C++ Libraries consistently use C++ exceptions for error handling, thus making life easier for developers. Without exceptions, error handling is often done insufficiently (for example, function return values denoting success or failure are often ignored), leading to hard-to-trackdown bugs. With modern C++ compilers, the runtime overhead caused by exception handling is minimal, and the advantages of exception handling far outweigh its costs. Consequent use of exceptions leads to more stable and better maintainable code.
8 White Paper 8/ The Foundation Library The Foundation library is the heart of the POCO C++ Libraries. Figure 2 gives an overview of its components. Figure 2 The Foundation library Core The various components and the functionality they provide are outlined in the following paragraphs. The Core component, as its name implies, provides the most basic functionality of the Foundation library. It consists of five subcomponents that provide the following services: Platform Abstraction Included in the platform abstraction layer are platform-independent fixedsize data types (8, 16, 32 and 64 bit signed and unsigned integers), utility classes for converting between big-endian and little-endian integers, mechanisms for getting information about the operating system platform, and an interface to the system debugger Memory Management This subcomponent includes a smart pointer and a shared pointer template class that implements reference counting-based garbage collection and a template class that simplifies the proper instantiation and destruction of singleton objects.
9 White Paper 9/ String Utilities Error Handling Hash Tables Streams Threading Handy functions for case-insensitive string comparison, case conversion, whitespace removal, formatting, character transformation and concatenation, as well as a string tokenizer class. Classes, functions and macros for error handling, including various exception classes and useful macros for assertions and null pointer checks that enable you to write self-testing code. On some platforms, the library can be configured to automatically break into the debugger when an assertion is violated. The POCO C++ Libraries themselves make extensive use of assertions, allowing you to find subtle bugs in your code (for example, invalid method parameters or missing initializations) as soon as possible. Also, a special debug mode is supported where additional runtime checks are enabled. An efficient implementation of a linear hashtable provides the base for hashbased set and map implementations. The Streams component provides various I/O stream and corresponding stream buffer classes, including base classes that make implementing your own custom stream and stream buffer classes much easier. All stream classes are based on and fully compatible with the standard I/O streams provided by the C++ Standard Library. Included are base classes for buffered and unbuffered streams, encoders that encode binary data in Base64 or hexbinary encoding (suitable for embedding binary data in XML documents or messages) and the corresponding decoders, a stream counting characters, lines and column numbers, as well as stream-based data compression/decompression based on the popular open source zlib data compression library. Writing multithreaded code is hard. The platform independent classes for creating and managing threads, synchronizing threads (mutexes, conditions, events, reader/writer locks and semaphores), thread pool management and timers considerably simplify this task. A common programming error in multithreaded code is to forget to unlock a mutex that has been locked earlier in the code (for example, if a block is exited in the middle due to an exception or a "hidden" return statement). The scoped lock classes provided by the threading library ensure that mutexes are always properly unlocked when the program block where they have been locked is left. They therefore help to avoid a common source for deadlocks in multithreaded applications.
10 White Paper 10/ DateTime Filesystem Logging Processes The multithreading classes also support the concept of active objects. An active object has methods that automatically execute in their own threads. Examples are activities long running methods that perform background tasks and active methods methods that execute asynchronously to their caller. Active objects relieve the programmer from thread management issues and help to reduce the complexity of multithreaded code. Timestamp and stopwatch classes for time keeping and measurement with up to microsecond (64-bit) accuracy. The actual time resolution depends on the underlying operating system platform. Classes for working with time spans and time zones and a class for working with calendar dates. Easy to use classes for working with paths, files and directories in a platform independent manner. A directory iterator class that allows iteration over the files in a directory in C++ style. A path class that supports all commonly used notation styles for paths (Unix, Windows, OpenVMS). Classes that simplify working with temporary files. A Glob class for finding files using Unix-style patterns. Logging is a valuable debugging aid especially for multithreaded applications. The Foundation library provides a powerful and extensible logging framework that is unobtrusive to use. The framework supports a variety of different log destinations (console, log files, Unix Syslog, Windows Event Log, remote logging, etc.). Based on a concept of cascaded log channels, filters and message formatters and configurable both programmatically and via configuration files (with help from the Util library). Creation and management of processes, as well as synchronization among cooperating processes in the form of global mutexes and global events. Also supported are pipes for communicating with child processes Shared Libraries Classes for working with shared libraries in a platform independent way. Including a template-based class loader that loads C++ classes dynamically at runtime from shared libraries, similarly to the class loader available in Java. This class loader frees a developer from many of the burdens when building plug-in architectures for applications.
11 White Paper 11/ Notifications Events Crypt Text Facilities for type-safe sending and delivery of notification objects within a single thread or from one thread to another, also well suited for the implementation of notification mechanisms. A notification queue class for distributing tasks to worker threads, simplifying the implementation of multithreaded servers. Support for both synchronous and asynchronous event notifications. Similar in style to the event mechanism in C# and thus easy to use. Implementations of various message digest algorithms (MD2, MD4, MD5, SHA-1) that work on streams or buffers, an implementation of the popular HMAC message signature algorithm as well as random number and random data generation. Classes for working with text in various encodings (ASCII, ISO Latin-1, UTF-8, UTF-16, etc.), as well as for converting text between encodings that work with the standard C++ string and I/O stream classes. Support for working with UTF-8 encoded Unicode text using the standard library s string class Regular Expressions URI UUID Cache Perl-compatible regular expressions, based on the popular open source PCRE library and wrapped in an intuitive to use class. Classes for working with Uniform Resource Identifiers (URIs), including an URIStreamOpener class. Classes for cross-platform UUID (Universally Unique Identifier) manipulation and generation (time-based, name-based and random-based). A framework for implementing caches with various expiration strategies.
12 White Paper 12/ The Net Library The Net library contains a variety of classes for network programming. Basic TCP/IP sockets, as well as higher level network protocols are supported. Figure 3 gives an overview of the Net library. Figure 3 The Net library NetCore Sockets Reactor Many embedded devices already have Ethernet network interfaces and support the TCP/IP protocol. Configuration, maintenance and monitoring functions for such devices can often be provided via a browser-based Web interface. Furthermore, many embedded devices will soon need to provide Web service interfaces, based on the Simple Object Access Protocol (SOAP) and HTTP. The classes provided by the Net library provide most of the building blocks required to implement these features. The NetCore classes provide the core functionality needed in every network application, such as handling of network addresses, and network name resolution (DNS). The socket classes provided by the POCO C++ Libraries take care of all the (often overlooked) subtleties that need to be dealt with when working with the Berkeley socket API, the industry's standard API for TCP/IP programming. Available are classes for TCP (stream) and UDP (datagram) sockets, TCP and UDP listeners and a multithreaded TCP server. Furthermore, support is provided for IPv4 and IPv6, as well as UDP broadcast and multicast. The TCP server, as well as network stream classes that work with sockets simplify the development of applications that provide a Telnet (RFC 854) text-based user interface. Support for the popular Reactor, Acceptor and Connector patterns useful for high-performance network applications.
13 White Paper 13/ MIME Messages HTTP FTP Mail HTML Classes for dealing with MIME (Multipart Internet Mail Extensions, RFC 2045 and RFC 2387) multi-part messages. A HTTP (Hyper Text Transfer Protocol, RFC 2616) client library, as well as an extensible, multithreaded HTTP server framework are. Both the server and the client support HTTP 1.0 and HTTP 1.1. A FTP (File Transfer Protocol, RFC 959) client for file transfer applications. Classes for sending messages via SMTP (Simple Mail Transfer Protocol, RFC 2821) servers with support for attachments, as well as classes for downloading messages from POP3 (Post Office Protocol Version 3, RFC 1939) servers. Classes for working with HTML forms on both the client and the server side. Included is support for HTTP file uploads. 3.3 The NetSSL Library The NetSSL library extends the Net library with support for secure, encrypted communication based on SSL (Secure Sockets Layer) and TLS (Transport Layer Security). 3.4 The XML Library The extensible Markup Language (XML) library provides classes and frameworks for reading and writing XML data. The XML parser is based on the well-known open source Expat parser. On top of that parser sits a thin and lightweight layer that implements a C++ adoption of the SAX2 (Simple API for XML, version 2) interface for event-based XML parsing. A DOM (Document Object Model) implementation is provided for document-based XML manipulation. The DOM implementation has been optimized for low memory footprint. It provides a complete implementation of the DOM Level 2 Events specification, making it suitable for interactive applications. Figure 4 gives an overview of the library.
14 White Paper 14/19 Figure 4 The XML library SAX DOM While the XML library is normally used on top of the Foundation library, it can also be used (with some restrictions) on its own, therefore avoiding the small overhead incorporated by the Foundation library. The XML library fully supports Unicode and it can be used in two ways. For one, it can be used with narrow (char-based) strings. In this case, all characters are UTF-8 encoded. Alternatively, the library can be used with wide (wchar_t-based) strings. UTF-16 encoding is used in the latter case. Mode selection is done at compile time, via preprocessor macros. The XML parser is non-validating, which is a good choice for embedded platforms, as fully validating parsers have a considerable higher runtime and memory overhead. The POCO XML parser fully implements the SAX2 specification for eventbased XML parsing. Also supported are most of the optional SAX2 Extensions (1.0 and 1.1). While the SAX2 interface is somewhat less convenient to use when compared with DOM, SAX2 is the interface of choice for efficient parsing of XML data and if the available memory is limited. The DOM interface is suitable for in-memory storage and manipulation of XML data. Its implementation has been optimized for a lowest possible memory footprint (while not sacrificing performance) and the DOM Level 2 Events specification is fully supported, making the DOM implementation suitable for interactive applications. The DOM implementation provided by the POCO XML library adheres to the following W3C specifications:
15 White Paper 15/ XMLWriter Document Object Model Level 1 Document Object Model Level 2 Core Document Object Model Level 2 Events Document Object Model Level 2 Traversal and Range The XML writer class simplifies the creation of XML data. Based on the SAX2 interfaces, it supports namespaces and formatted output in addition to ensuring that the written XML is well formed. Different text encodings are supported. 3.5 The Util Library The POCO Utilities library makes available classes for working with configuration files and command line arguments, as well as a framework for building command line tools and server applications Configuration Files The Util library supports unified handling of configuration files in various formats. The supported configuration file formats are Java-style property files, Windows-style initialization (.ini) files and XML files. Regardless of the file format, the interface for accessing the configuration data is always the same. Also available are mechanisms to combine configuration data from multiple sources. The framework can easily be extended with support for new configuration data sources, for example a database or the Windows registry Command Line Options Also contained in the Util library are classes for platform-independent handling of command line options. The POCO C++ Libraries enable the creation of applications that work on different operating system platforms. Users on different platforms, however, expect to specify command line options in different, platform-specific ways. For example, users on Unix platforms expect to specify options using a dash (-) or double-dash (--) syntax. On the other hand, users on Windows or OpenVMS platforms expect to specify options using a slash (/) syntax. The classes for command line option handling automatically recognize options in the appropriate syntax for the respective platform, thus ensuring a consistent user experience on every supported platform. Furthermore, the classes take care of handling missing, duplicate, incompatible or ambiguously specified options appropriately, thus saving the developer tedious work. Automatic validation of command line argument values, based on regular expressions or numeric ranges is also supported.
16 White Paper 16/ Tools and Server Applications Last but not least the Util library provides a framework for writing command line based tools or server applications. A server application is typically expected to run as a daemon process on a Unix platform, or as a service on a Windows platform. The application framework classes in the Util library implement the necessary glue code to achieve this transparently, allowing the same executable to run either from the command line, or as a daemon or service. 3.6 The Data Library The Data library provides unified database access to various SQL-based databases. For accessing enterprise database systems like Oracle or SQL Server, a ODBC-based connector is available. For embedded scenarios, the SQLite embeddable SQL database engine is supported. Additional connectors (e.g., to MySQL) can be easily added on demand. The Data library uses advanced C++ features to provide the illusion of embedding SQL statements directly in C++ code. Basic Object-Relational mapping is supported, so that C++ objects can be directly used in SL statements.
17 White Paper 17/19 4 Portability and Platforms The Applied Informatics POCO C++ Libraries are available on a variety of platforms. The platform-dependent and platform-independent parts of the library have been clearly separated, which makes porting the library to new platforms a relatively easy task. An extensive test suite ensures that everything works as expected on a new platform. 4.1 Supported Platforms 4.2 Porting All major desktop and server platforms are readily supported, including Windows XP, Mac OS X, Linux, HP-UX, Tru64 and Solaris, in addition to embedded Linux, QNX Neutrino and other POSIX-compliant embedded operating systems. Porting the POCO C++ Libraries to a new platform can be done by yourself, with optional support from Applied Informatics' developer team. Alternatively, Applied Informatics can be contracted to do the complete porting to a platform of your choice Target Platform Requirements Target platforms for the POCO C++ Libraries must meet the following minimum requirements: a 32-bit CPU at least 8 MB of memory available for application code (RAM+ROM) optional FPU (or software-based floating point support) a TCP/IP stack for the Net library multithreading support for the threads and synchronization classes filesystem support is required for certain components an ANSI/ISO C++ conforming C++ compiler; see next section
18 White Paper 18/ C++ Compiler Requirements To successfully build the POCO C++ Libraries, a C++ compiler must meet the following requirements: full ISO/IEC standards compliance (including templates, exception handling, runtime type identification) a conforming implementation of the C++ standard library, including the STL (minimum: strings, I/O streams and containers/iterators) Following is an incomplete list of compilers (and platforms) known to work with the Applied Informatics POCO C++ Libraries: Microsoft Visual C and 14.0 (Windows 2000/XP/CE) GCC (Mac OS X 10.3) GCC 4.0 (Mac OS X 10.4) GCC (Linux , QNX Neutrino 6.3) GCC (Linux and 2.6.3) Sun ONE Studio 11 C++ 1 (Solaris 9) Compaq C (HP Tru64 5.1b) HP ANSI C++ A (HP-UX PA-RISC) HP ANSI C++ A (HP-UX IA64) 1 With restrictions some of the class templates for tuples and hash tables in release 1.3 cannot be used due to compiler insufficiencies. Release 1.2 is fully supported.
19 White Paper 19/19 5 Support, Licensing and Contact The Foundation, XML, Net and Util libraries are available under the Boost open source license, which makes them free for both open source and commercial use. For a complete description of the license regulations and support options please visit Applied Informatics can be reached at one of the following addresses: Applied Informatics Software Engineering GmbH St. Peter St. Jakob im Rosental Austria Phone: Fax: [email protected] Web:
The syslog-ng Premium Edition 5F2
The syslog-ng Premium Edition 5F2 PRODUCT DESCRIPTION Copyright 2000-2014 BalaBit IT Security All rights reserved. www.balabit.com Introduction The syslog-ng Premium Edition enables enterprises to collect,
Version 14.0. Overview. Business value
PRODUCT SHEET CA Datacom Server CA Datacom Server Version 14.0 CA Datacom Server provides web applications and other distributed applications with open access to CA Datacom /DB Version 14.0 data by providing
The syslog-ng Premium Edition 5LTS
The syslog-ng Premium Edition 5LTS PRODUCT DESCRIPTION Copyright 2000-2013 BalaBit IT Security All rights reserved. www.balabit.com Introduction The syslog-ng Premium Edition enables enterprises to collect,
Automatic Configuration and Service Discovery for Networked Smart Devices
Automatic Configuration and Service Discovery for Networked Smart Devices Günter Obiltschnig Applied Informatics Software Engineering GmbH St. Peter 33 9184 St. Jakob im Rosental Austria Tel: +43 4253
System Structures. Services Interface Structure
System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface
C#5.0 IN A NUTSHELL. Joseph O'REILLY. Albahari and Ben Albahari. Fifth Edition. Tokyo. Sebastopol. Beijing. Cambridge. Koln.
Koln C#5.0 IN A NUTSHELL Fifth Edition Joseph Albahari and Ben Albahari O'REILLY Beijing Cambridge Farnham Sebastopol Tokyo Table of Contents Preface xi 1. Introducing C# and the.net Framework 1 Object
Monitoring Windows Servers and Applications with GroundWork Monitor Enterprise 6.7. Product Application Guide October 8, 2012
Monitoring Windows Servers and Applications with GroundWork Monitor Enterprise 6.7 Product Application Guide October 8, 2012 Table of Contents Introduction...3 Definitions and Abbreviations...3 GroundWork
LabVIEW Internet Toolkit User Guide
LabVIEW Internet Toolkit User Guide Version 6.0 Contents The LabVIEW Internet Toolkit provides you with the ability to incorporate Internet capabilities into VIs. You can use LabVIEW to work with XML documents,
MD Link Integration. 2013 2015 MDI Solutions Limited
MD Link Integration 2013 2015 MDI Solutions Limited Table of Contents THE MD LINK INTEGRATION STRATEGY...3 JAVA TECHNOLOGY FOR PORTABILITY, COMPATIBILITY AND SECURITY...3 LEVERAGE XML TECHNOLOGY FOR INDUSTRY
Jitterbit Technical Overview : Microsoft Dynamics CRM
Jitterbit allows you to easily integrate Microsoft Dynamics CRM with any cloud, mobile or on premise application. Jitterbit s intuitive Studio delivers the easiest way of designing and running modern integrations
IronKey Enterprise File Audit Admin Guide
IronKey Enterprise File Audit Admin Guide Last Updated July 2015 Thank you for choosing IronKey Enterprise Management Service by Imation. Imation s Mobile Security Group is committed to creating and developing
SIP Protocol as a Communication Bus to Control Embedded Devices
229 SIP Protocol as a Communication Bus to Control Embedded Devices Ramunas DZINDZALIETA Institute of Mathematics and Informatics Akademijos str. 4, Vilnius Lithuania [email protected] Abstract.
Programming IoT Gateways With macchina.io
Programming IoT Gateways With macchina.io Günter Obiltschnig Applied Informatics Software Engineering GmbH Maria Elend 143 9182 Maria Elend Austria [email protected] This article shows how
Integrating the Internet into Your Measurement System. DataSocket Technical Overview
Integrating the Internet into Your Measurement System DataSocket Technical Overview Introduction The Internet continues to become more integrated into our daily lives. This is particularly true for scientists
Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
Chapter 6, The Operating System Machine Level
Chapter 6, The Operating System Machine Level 6.1 Virtual Memory 6.2 Virtual I/O Instructions 6.3 Virtual Instructions For Parallel Processing 6.4 Example Operating Systems 6.5 Summary Virtual Memory General
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers Happiest People. Happiest Customers Contents Abstract... 3 Introduction... 3 Performance Comparison... 4 Architecture... 5 Diagram...
Operating System Structures
COP 4610: Introduction to Operating Systems (Spring 2015) Operating System Structures Zhi Wang Florida State University Content Operating system services User interface System calls System programs Operating
SIEMENS. Teamcenter 11.2. Windows Server Installation PLM00013 11.2
SIEMENS Teamcenter 11.2 Windows Server Installation PLM00013 11.2 Contents Part I: Getting started with Teamcenter server installation Requirements and overview.............................................
Base One's Rich Client Architecture
Base One's Rich Client Architecture Base One provides a unique approach for developing Internet-enabled applications, combining both efficiency and ease of programming through its "Rich Client" architecture.
Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.
Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures
PROFESSIONAL. Node.js BUILDING JAVASCRIPT-BASED SCALABLE SOFTWARE. Pedro Teixeira WILEY. John Wiley & Sons, Inc.
PROFESSIONAL Node.js BUILDING JAVASCRIPT-BASED SCALABLE SOFTWARE Pedro Teixeira WILEY John Wiley & Sons, Inc. INTRODUCTION xxvii CHAPTER 1: INSTALLING NODE 3 Installing Node on Windows 4 Installing on
Jitterbit Technical Overview : Microsoft Dynamics AX
Jitterbit allows you to easily integrate Microsoft Dynamics AX with any cloud, mobile or on premise application. Jitterbit s intuitive Studio delivers the easiest way of designing and running modern integrations
Chapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
CA CPT CICS Programmers Toolkit for TCP/IP r6.1
PRODUCT BRIEF: CA CPT CICS PROGRAMMERS TOOLKIT FOR TCP/IP CA CPT CICS Programmers Toolkit for TCP/IP r6.1 CA CPT CICS PROGRAMMERS' TOOLKIT FOR TCP/IP PROVIDES CICS PROGRAMMERS WITH AN EASY TO USE SET OF
SkyRecon Cryptographic Module (SCM)
SkyRecon Cryptographic Module (SCM) FIPS 140-2 Documentation: Security Policy Abstract This document specifies the security policy for the SkyRecon Cryptographic Module (SCM) as described in FIPS PUB 140-2.
Teamcenter 10.1. Installation on UNIX and Linux Servers Guide. Publication Number PLM00011 J
Teamcenter 10.1 Installation on UNIX and Linux Servers Guide Publication Number PLM00011 J Proprietary and restricted rights notice This software and related documentation are proprietary to Siemens Product
Building Applications Using Micro Focus COBOL
Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.
IBM CICS Transaction Gateway for Multiplatforms, Version 7.0
Delivers highly flexible, security-rich and scalable SOA access to CICS applications IBM Multiplatforms, Version 7.0 Highlights Connects WebSphere SOA Introduces real-time monitoring Foundation server
Enterprise Manager. Version 6.2. Installation Guide
Enterprise Manager Version 6.2 Installation Guide Enterprise Manager 6.2 Installation Guide Document Number 680-028-014 Revision Date Description A August 2012 Initial release to support version 6.2.1
Windows Embedded Security and Surveillance Solutions
Windows Embedded Security and Surveillance Solutions Windows Embedded 2010 Page 1 Copyright The information contained in this document represents the current view of Microsoft Corporation on the issues
Nios II Software Developer s Handbook
Nios II Software Developer s Handbook Nios II Software Developer s Handbook 101 Innovation Drive San Jose, CA 95134 www.altera.com NII5V2-13.1 2014 Altera Corporation. All rights reserved. ALTERA, ARRIA,
CA IDMS Server r17. Product Overview. Business Value. Delivery Approach
PRODUCT sheet: CA IDMS SERVER r17 CA IDMS Server r17 CA IDMS Server helps enable secure, open access to CA IDMS mainframe data and applications from the Web, Web services, PCs and other distributed platforms.
Netwrix Auditor for Windows Server
Netwrix Auditor for Windows Server Quick-Start Guide Version: 7.0 7/7/2015 Legal Notice The information in this publication is furnished for information use only, and does not constitute a commitment from
Limi Kalita / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3), 2014, 4802-4807. Socket Programming
Socket Programming Limi Kalita M.Tech Student, Department of Computer Science and Engineering, Assam Down Town University, Guwahati, India. Abstract: The aim of the paper is to introduce sockets, its deployment
Getting started with API testing
Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...
Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.
Interprocess communication (Part 2) For an application to send something out as a message, it must arrange its OS to receive its input. The OS is then sends it out either as a UDP datagram on the transport
A Java Based Tool for Testing Interoperable MPI Protocol Conformance
A Java Based Tool for Testing Interoperable MPI Protocol Conformance William George National Institute of Standards and Technology 100 Bureau Drive Stop 8951 Gaithersburg MD 20899 8951 1 301 975 4943 [email protected]
Design Notes for an Efficient Password-Authenticated Key Exchange Implementation Using Human-Memorable Passwords
Design Notes for an Efficient Password-Authenticated Key Exchange Implementation Using Human-Memorable Passwords Author: Paul Seymer CMSC498a Contents 1 Background... 2 1.1 HTTP 1.0/1.1... 2 1.2 Password
Crypt O Pack in security
the of Crypt O Pack in security and communication by innoidea Lajos Nagy, 2005 Crypt O Pack Realtime Encryption and Compression of data flow PKI Authentication Multiplatform solution Portable source Automatic,
etrust Audit Using the Recorder for Check Point FireWall-1 1.5
etrust Audit Using the Recorder for Check Point FireWall-1 1.5 This documentation and related computer software program (hereinafter referred to as the Documentation ) is for the end user s informational
Server-Based PDF Creation: Basics
White Paper Server-Based PDF Creation: Basics Copyright 2002-2009 soft Xpansion GmbH & Co. KG White Paper Server-Based PDF Creation: Basics 1 Table of Contents PDF Format... 2 Description... 2 Advantages
NetFlow Collection and Processing Cartridge Pack User Guide Release 6.0
[1]Oracle Communications Offline Mediation Controller NetFlow Collection and Processing Cartridge Pack User Guide Release 6.0 E39478-01 June 2015 Oracle Communications Offline Mediation Controller NetFlow
Common Lisp Networking API Advantages and Disadvantages
Common Lisp Sockets APIs An analysis and proposal Dave Roberts dave-at-findinglisp-com www.findinglisp.com Version 0.2.5, 27-Dec-2005 1 Introduction In recent years, network programming has increased steadily
ODBC Driver User s Guide. Objectivity/SQL++ ODBC Driver User s Guide. Release 10.2
ODBC Driver User s Guide Objectivity/SQL++ ODBC Driver User s Guide Release 10.2 Objectivity/SQL++ ODBC Driver User s Guide Part Number: 10.2-ODBC-0 Release 10.2, October 13, 2011 The information in this
Product Standard General Interworking: Internet Server
General Interworking: Internet Server The Open Group Copyright August 1998, The Open Group All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted,
MatrixSSL Porting Guide
MatrixSSL Porting Guide Electronic versions are uncontrolled unless directly accessed from the QA Document Control system. Printed version are uncontrolled except when stamped with VALID COPY in red. External
Jitterbit Technical Overview : Salesforce
Jitterbit allows you to easily integrate Salesforce with any cloud, mobile or on premise application. Jitterbit s intuitive Studio delivers the easiest way of designing and running modern integrations
1 Review Information About this Guide
Oracle Database Client Quick Installation Guide 11g Release 2 (11.2) for Microsoft Windows x64 (64-Bit) E49700-03 December 2014 This guide describes how to quickly install the Oracle Database Client product
PN 00651. Connect:Enterprise Secure FTP Client Release Notes Version 1.2.00
PN 00651 Connect:Enterprise Secure FTP Client Release Notes Version 1.2.00 Connect:Enterprise Secure FTP Client Release Notes Version 1.2.00 First Edition This documentation was prepared to assist licensed
Network Programming TDC 561
Network Programming TDC 561 Lecture # 1 Dr. Ehab S. Al-Shaer School of Computer Science & Telecommunication DePaul University Chicago, IL 1 Network Programming Goals of this Course: Studying, evaluating
Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture
Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts
CA Workload Automation Agent for Remote Execution
CA Workload Automation Agent for Remote Execution Release Notes r11.3.1 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the
SOSFTP Managed File Transfer
Open Source File Transfer SOSFTP Managed File Transfer http://sosftp.sourceforge.net Table of Contents n Introduction to Managed File Transfer n Gaps n Solutions n Architecture and Components n SOSFTP
Chapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
Salesforce1 Mobile Security Guide
Salesforce1 Mobile Security Guide Version 1, 1 @salesforcedocs Last updated: December 8, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of salesforce.com,
BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: 10.1.1. Security Note
BlackBerry Enterprise Service 10 Secure Work Space for ios and Android Version: 10.1.1 Security Note Published: 2013-06-21 SWD-20130621110651069 Contents 1 About this guide...4 2 What is BlackBerry Enterprise
TFS ApplicationControl White Paper
White Paper Transparent, Encrypted Access to Networked Applications TFS Technology www.tfstech.com Table of Contents Overview 3 User Friendliness Saves Time 3 Enhanced Security Saves Worry 3 Software Componenets
Technical Assistance and Support Services Agreement
Technical Assistance and Support Services Agreement Version 1.13 Applied Informatics Software Engineering GmbH Maria Elend 143 9182 Maria Elend AUSTRIA Tel: +43 4253 32596 [email protected] www.appinf.com
JavaFX Session Agenda
JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user
How To Use A Pmsft On A Pc Or Mac Or Mac (For Mac) With A Pmf (For Pc) Or Mac Mac (Or Mac) On A Mac Or Pc (For Pmsf) On An Ipad
Capario Secure File Transfer User Guide Notices This user guide (the Guide ) is provided by Capario in order to facilitate your use of the Capario Secure File Transfer Software. This Guide is subject to
McAfee Web Gateway 7.4.1
Release Notes Revision B McAfee Web Gateway 7.4.1 Contents About this release New features and enhancements Resolved issues Installation instructions Known issues Find product documentation About this
IBM Tivoli Directory Integrator
IBM Tivoli Directory Integrator Synchronize data across multiple repositories Highlights Transforms, moves and synchronizes generic as well as identity data residing in heterogeneous directories, databases,
StreamServe Persuasion SP4 Service Broker
StreamServe Persuasion SP4 Service Broker User Guide Rev A StreamServe Persuasion SP4 Service Broker User Guide Rev A 2001-2009 STREAMSERVE, INC. ALL RIGHTS RESERVED United States patent #7,127,520 No
FileMaker 11. ODBC and JDBC Guide
FileMaker 11 ODBC and JDBC Guide 2004 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered
What s Cool in the SAP JVM (CON3243)
What s Cool in the SAP JVM (CON3243) Volker Simonis, SAP SE September, 2014 Public Agenda SAP JVM Supportability SAP JVM Profiler SAP JVM Debugger 2014 SAP SE. All rights reserved. Public 2 SAP JVM SAP
Computer Networks/DV2 Lab
Computer Networks/DV2 Lab Room: BB 219 Additional Information: http://ti.uni-due.de/ti/en/education/teaching/ss13/netlab Equipment for each group: - 1 Server computer (OS: Windows Server 2008 Standard)
Xcode Project Management Guide. (Legacy)
Xcode Project Management Guide (Legacy) Contents Introduction 10 Organization of This Document 10 See Also 11 Part I: Project Organization 12 Overview of an Xcode Project 13 Components of an Xcode Project
FEATURE COMPARISON BETWEEN WINDOWS SERVER UPDATE SERVICES AND SHAVLIK HFNETCHKPRO
FEATURE COMPARISON BETWEEN WINDOWS SERVER UPDATE SERVICES AND SHAVLIK HFNETCHKPRO Copyright 2005 Shavlik Technologies. All rights reserved. No part of this document may be reproduced or retransmitted in
Cross-channel protection GSelector s exclusive cross-station protection prevents the same song from playing at the same time across your stations.
Music scheduling reinvented GSelector is the world s first goal music scheduler; perfect for the diverse ways radio programmers deliver their stations to the audience. Build a better log GSelector virtually
Content Management System (CMS)
Content Management System (CMS) ASP.NET Web Site User interface to the CMS SQL Server metadata storage, configuration, user management, order history, etc. Windows Service (C#.NET with TCP/IP remote monitoring)
LICENSE4J LICENSE MANAGER USER GUIDE
LICENSE4J LICENSE MANAGER USER GUIDE VERSION 4.5.5 LICENSE4J www.license4j.com Table of Contents Getting Started... 4 Managing Products... 6 Create Product... 6 Edit Product... 7 Refresh, Delete Product...
Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability
Web Application Threats and Vulnerabilities Web Server Hacking and Web Application Vulnerability WWW Based upon HTTP and HTML Runs in TCP s application layer Runs on top of the Internet Used to exchange
VERITAS Cluster Server Traffic Director Option. Product Overview
VERITAS Cluster Server Traffic Director Option Product Overview V E R I T A S W H I T E P A P E R Table of Contents Traffic Director Option for VERITAS Cluster Server Overview.............................................1
Managed File Transfer
Managed File Transfer How do most organizations move files today? FTP Typically File Transfer Protocol (FTP) is combined with writing and maintaining homegrown code to address its limitations Limited Reliability
The Windows Web Platform. Michael Epprecht Microsoft Switzerland [email protected] twitter: fastflame
The Windows Web Platform Michael Epprecht Microsoft Switzerland [email protected] twitter: fastflame Star Map April 1994 to August 1995 Page Views per Day: 124'655 Number of Servers: 3 3
URI and UUID. Identifying things on the Web.
URI and UUID Identifying things on the Web. Overview > Uniform Resource Identifiers (URIs) > URIStreamOpener > Universally Unique Identifiers (UUIDs) Uniform Resource Identifiers > Uniform Resource Identifiers
Compaq Batch Scheduler for Windows NT
Compaq Batch Scheduler for Windows NT Mainframe-Caliber Automated Job Scheduling Software for Windows NT This white paper addresses extending the capabilities of Windows NT to include automated job scheduling
SyncThru TM Web Admin Service Administrator Manual
SyncThru TM Web Admin Service Administrator Manual 2007 Samsung Electronics Co., Ltd. All rights reserved. This administrator's guide is provided for information purposes only. All information included
CA Workload Automation Agent for UNIX, Linux, or Windows
CA Workload Automation Agent for UNIX, Linux, or Windows Implementation Guide r11.3, Third Edition This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter
Enterprise Manager. Version 6.2. Administrator s Guide
Enterprise Manager Version 6.2 Administrator s Guide Enterprise Manager 6.2 Administrator s Guide Document Number 680-017-017 Revision Date Description A August 2012 Initial release to support version
Configuring Logging. Information About Logging CHAPTER
52 CHAPTER This chapter describes how to configure and manage logs for the ASASM/ASASM and includes the following sections: Information About Logging, page 52-1 Licensing Requirements for Logging, page
2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)
2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET) There are three popular applications for exchanging information. Electronic mail exchanges information between people and file
BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2. Administration Guide
BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2 Administration Guide Published: 2010-06-16 SWDT487521-1041691-0616023638-001 Contents 1 Overview: BlackBerry Enterprise
2057-15. First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring
2057-15 First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring 7-25 September 2009 TCP/IP Networking Abhaya S. Induruwa Department
DIABLO VALLEY COLLEGE CATALOG 2014-2015
COMPUTER SCIENCE COMSC The computer science department offers courses in three general areas, each targeted to serve students with specific needs: 1. General education students seeking a computer literacy
User Guidance. CimTrak Integrity & Compliance Suite 2.0.6.19
CimTrak Integrity & Compliance Suite 2.0.6.19 Master Repository Management Console File System Agent Network Device Agent Command Line Utility Ping Utility Proxy Utility FTP Repository Interface User Guidance
JAVA. EXAMPLES IN A NUTSHELL. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo. Third Edition.
"( JAVA. EXAMPLES IN A NUTSHELL Third Edition David Flanagan O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Table of Contents Preface xi Parti. Learning Java 1. Java Basics 3 Hello
How To Build A Connector On A Website (For A Nonprogrammer)
Index Data's MasterKey Connect Product Description MasterKey Connect is an innovative technology that makes it easy to automate access to services on the web. It allows nonprogrammers to create 'connectors'
TNT SOFTWARE White Paper Series
TNT SOFTWARE White Paper Series Event Log Monitor White Paper: Architecture T N T Software www.tntsoftware.com TNT SOFTWARE Event Log Monitor Architecture 2000 TNT Software All Rights Reserved 1308 NE
Overview Document Framework Version 1.0 December 12, 2005
Document Framework Version 1.0 December 12, 2005 Document History Date Author Version Description October 5, 2005 Carl Yestrau 1.0 First complete version December 12, 2005 Page A Table of Contents 1.0
Software: Systems and Application Software
Software: Systems and Application Software Computer Software Operating System Popular Operating Systems Language Translators Utility Programs Applications Programs Types of Application Software Personal
CS3600 SYSTEMS AND NETWORKS
CS3600 SYSTEMS AND NETWORKS NORTHEASTERN UNIVERSITY Lecture 2: Operating System Structures Prof. Alan Mislove ([email protected]) Operating System Services Operating systems provide an environment for
Netwrix Auditor for Active Directory
Netwrix Auditor for Active Directory Quick-Start Guide Version: 7.1 10/26/2015 Legal Notice The information in this publication is furnished for information use only, and does not constitute a commitment
