Querying Microsoft SQL Server course description This course covers the technical skills required to write basic Transact-SQL queries for Microsoft SQL Server and provides the foundation for all SQL Server-related disciplines; namely, database administration, database development and business intelligence. This course helps prepare for exam 70-761. Note: This course is designed for SQL Server 2014or SQL Server 2016. What will you learn Write SELECT statements. Create and implement views and table-valued functions. Transform data by implementing pivot, unpivot, rollup and cube. Create and implement stored procedures. Add programming constructs such as variables, conditions, and loops to T-SQL code. Querying Microsoft SQL Server course details Who will benefit: Database administrators, database developers, and business intelligence professionals. SQL power users, namely, report writers, business analysts and client application developers. Prerequisites: Database fundamentals Duration 5 days Querying Microsoft SQL Server course contents Introduction to Microsoft SQL Server Management studio, creating and organizing T-SQL scripts, using books online. Hands on working with SQL Server tools. T-SQL querying Introducing T-SQL, sets, predicate logic, logical order of operations in SELECT statements, basic SELECT statements, queries that filter data using predicates, queries that sort data using ORDER BY. Hands on introduction to T-SQL querying. Writing SELECT queries Writing simple SELECT statements, eliminating duplicates with DISTINCT, column and table aliases, simple CASE expressions. Hands on writing basic SELECT statements. Querying multiple tables cross joins and self joins, write queries that use Inner joins, write queries that use multiple-table inner joins, write queries that use self-joins, write queries that use outer joins, write queries that use cross joins. Hands on querying multiple tables. Sorting and filtering data Sorting data, filtering data with predicates, filtering data with TOP and OFFSET-FETCH, working with unknown values, WHERE clause, ORDER BY clause, TOP option, OFFSET-FETCH clause. Hands on sorting and filtering data. SQL Server data types Introducing SQL Server data types, Character data, date and time data, queries that return date and time data, write queries that use date and time functions, write queries that return character data, write queries that return character functions. Hands on working with SQL Server data types. DML Adding data to tables, modifying and removing data, generating automatic column values, Inserting records with DML, updating and deleting records using DML. Hands on using DML to modify data. Built-in functions Queries with built-in functions, conversion functions, logical functions, functions with NULL, queries that use conversion functions, queries that use logical functions, queries that test for nullability. Hands on built-in functions Grouping and aggregating data Aggregate functions, the GROUP BY clause, filtering groups with HAVING, queries that use the GROUP BY clause, queries that use aggregate functions, queries that use distinct aggregate functions, queries that filter groups with the HAVING clause. Hands on grouping and aggregating data. Subqueries Self-contained subqueries, correlated subqueries, EXISTS predicate with subqueries, scalar and multi-result subqueries. Hands on subqueries. Table expressions Views, inline table-valued functions, derived tables, common table expressions. queries that use views, write queries that use derived tables, Common Table Expressions (CTEs), write queries that se inline Table valued expressions (TVFs). Hands on table expressions. Set operators The UNION operator, EXCEPT and INTERSECT, APPLY, queries that use UNION set operators and UNION ALL, CROSS APPLY and OUTER APPLY operators. Hands on set operators. Windows ranking, offset, and aggregate functions OVER, window functions, ranking functions, offset functions, window aggregate functions. Hands on; windows ranking, offset, and aggregate functions. Pivoting and grouping sets PIVOT and UNPIVOT, grouping sets, queries that use the PIVOT operator, queries that use the UNPIVOT operator, queries that use the GROUPING SETS CUBE and ROLLUP subclauses. Hands on pivoting and grouping sets Executing stored procedures Querying data with stored procedures, passing parameters to stored procedures, simple stored procedures, dynamic SQL, the EXECUTE statement to invoke stored procedures. Hands on executing stored procedures. Programming with T-SQL T-SQL programming elements, controlling program flow, declaring variables and delimiting batches, control-of-flow elements, variables in a dynamic SQL statement, synonyms. Hands on programming with T-SQL Error handling T-SQL error handling, structured exception handling, redirect errors with TRY/CATCH, THROW to pass an error message back to a client. Hands on implementing error handling. Implementing transactions Transactions and the database engines, controlling transactions, BEGIN, COMMIT, and ROLLBACK, adding error handling to a CATCH block. Hands on implementing transactions.
MySQL server admins training course description This MySQL Server administration course is designed for MySQL Server administrators who have a basic understanding of a MySQL database and a good working knowledge of SQL commands. The course provides an understanding of MySQL Architecture and practical experience in setting up, configuring and maintaining a MySQL server, backing up and recovering data and optimising query performance. This MySQL Server administration course also covers MySQL replication and its role in high availability and scalability. What will you learn Use MySQL Workbench. Install and configure a MySQL Server . Administer and tune a MySQL server. Configure log files and interpret error messages.. Secure the Server. Administer a replication topology. MySQL server admin training course details Who will benefit: Database administrators, Database developers and Technical consultants. Prerequisites: Introduction to MySQL Duration 5 days MySQL server admin training course contents Introduction to Oracle Application Express APEX concepts APEX main components Workspaces, database applications and websheet applications Creating a workspace The Workspace Administrator Upgrading APEX Logging into APEX Running an application SWL Workshop Use APEX to browse, create and modify objects Process ad hoc SQL statements Manage scripts in APEX Create, run and save SQL queries Build a database application Application components Create an application Create an application from a spreadsheet Create reports Create reports using wizards Edit report attributes Add links to reports Create a link to a printer-friendly version of a report Save and print reports in different formats Using files Uploading images Creating cascading stylesheet files Uploading static files Adding an Image as an application logo Adding a reference to a Javascript file Pages and regions Web form behaviour in APEX Create a form based on a table Create a form based on a procedure Create a form with a report Create a tabular form Format a form Locking in APEX forms Creating lists of values Overview of application express shared Components Dynamic and static lists of values Create a dynamic list of values Create a static list of values Use a list of values to control data in a report Create a cascading list of values Items and buttons Understand the different Types of items Create items Understand and edit item attributes Use Javascript with item Manipulate items in tabular forms Add dynamic items to a report Create and edit buttons Page Processing Page rendering and page processing Create computations Validate input data Process Data Understand application branching Create conditional branches Shared components Overview of application express navigation components Manage parent and standard tabs Create navigation bar entries Create and use lists and list items Manage breadcrumbs Create shortcuts Shared component subscription User interface defaults Display dynamic content Filter reports with dynamic queries Create charts with a wizard Format charts Create calendars Add links to calendars Create hierarchical trees State and debugging Understand session state Set a session state value Clear the session state Review the session state Review the messages in debug mode Enabling feedback Managing feedback and team development Themes and templates Switch to a different theme View existing templates Understand and manage templates Create a new template Add references to cascading stylesheet and Javascript files Dynamic actions and plug-in components Identify plug-in components and their types Plug In a component Create dynamic actions Use a plug-in in a dynamic action Building website applications Websheet applications and their components Create a websheet application Enable SQL and PL/SQL in a websheet application Add sections and pages to a websheet application Add links on a websheet page Add a data grid to a websheet application Create SQL reports ion websheet applications Add annotations to a websheet application Implementing security Authentication and authorization Provide an authentication scheme Create an authorization scheme using access control Enable and configure session state protection Deploy an appliction Define supporting objects Package an application Export an application Import an application Install supporting objects Administer Apex workspaces Manage workspaces and users Request a schema or storage Purge session state Monitor developer activity log Monitor workspace activity View activity reports Import a workspace Utility programs Import and export data Generate DDL statements View objects reports
MySQL for developers training course description This MySQL Developers training course is designed for MySQL Developers who have a good understanding of a MySQL database and experience of using SQL commands. The course provides further practical experience in more advanced MySQL commands and SQL statements including Stored Routines, Triggers and Event Scheduling. What will you learn Provide the skills needed to write more advanced queries and database maintenance statements on a MySQL database. Use advanced features of the MySQL Client. Use advanced data types. Manage the structure of databases and tables. Manage and using indexes. Write complex SQL query statements. Use advanced SQL expressions. Use advanced SQL functions. Perform advanced Insert, Update, Delete, Replace and Truncate Operations. Use user variable syntax and properties. Import and export data from within MySQL. Import and export data from the command line. Perform complex joins to access multiple tables. Perform complex subqueries. Create, manage and us views. Use prepared statements. Create and use stored routines. Create and use triggers. Obtain database metadata. Optimize queries. Work with the main storage engines. Debug MySQL applications. MySQL for developers training course details Who will benefit: MySQL Developers who have a basic understanding of a MySQL database and SQL commands as covered on the Introduction to MySQL course. Prerequisites: MySQL foundation Duration 5 days MySQL for developers training course contents Introduction Administration and Course Materials, Course Structure and Agenda, Delegate and Trainer Introductions. Client/server concepts MySQL client/server architecture, Server modes, Using client programs, Logging in options, Configuration files, Precedence of logging in options Hands on Using client/server The MySQL client program Using MySQL interactively, The MySQL prompts, Client commands and SQL statements, Editing, Selecting a database, Help, Safe updates, Using script files, Using a source file, Redirecting output into a file, Command line execution, Mysql output formats, Overriding the defaults, Html and xml output, MySQL Utilities. Hands on Using the MySQL client program Data types Bit data type, Numeric data types, Auto_increment, Character string data types, Character sets and collation, Binary string data types, Enum and Set data types, Temporal data types, Timezone support, Handling Missing Or Invalid Data Values, SQL_MODE options. Hands on Using data types Identifiers Using Quotes with identifier naming, Case sensitivity in Identifier naming, Qualifying columns with table and database names, Using reserved words as identifiers, Function names Hands on Using identifiers Databases Database properties, Creating a database, Selecting a database, Altering databases, Dropping databases, Obtaining database metadata, The SHOW command, The INFORMATION_SCHEMA database, The SHOW CREATE command Hands on Using databases Tables and indexes Table properties, Creating tables, Create table using Select or Like, Temporary tables and memory tables, Altering tables, Adding columns, Changing column widths and types, Renaming columns, Dropping columns, Adding constraints, Dropping constraints, Renaming tables, Change the table storage engine, Multiple alterations, Dropping tables, Emptying tables, Obtaining table metadata, Show create table, The information_schema, Index introduction, Structure of a mysql index, Creating and dropping indexes, Creating an index, Altering a table to add an index, Specifying index type, Dropping indexes, Obtaining Index Metadata. Hands on Creating, altering and dropping tables/indexes Querying for data The SQL select statement and MySQL differences, Advanced order by, Order by and collation, Order by with enum datatype, Order by with Set datatype, Ordering with distinct and group by Special features of union, Limit and order by clauses, Group By clause, Group_concat, Using Rollup in a Group By clause. Hands on Querying for data SQL Expressions and functions Components of expressions, Nulls, Numeric expressions, String expressions, Temporal expressions, Comparison functions, Flow control functions, Numeric functions, String functions, Temporal functions. Hands on Using expressions and functions Updating data Update operations and privileges, Inserting rows, Insert using a set clause, Inserting duplicate values, Replacing rows, Updating rows, Update using the order by and limit clauses, Deleting rows, The delete and truncate statements. Exercise: Inserting, updating, replacing and deleting data Connectors MySQL client interfaces, MySQL connectors, Oracle and community conectors, Connecting to MySQL server using Java and PHP connectors, MySQL and NoSQL, Innodb integration with memcached. Obtaining database metadata What is metadata?, The mysqlshow utility, The show and describe commands, Describing tables, The information_schema, Listing tables, Listing columns, Listing views, Listing key_columns_usage. Hands on Obtaining database metadata Debugging Mysql error messages, The show statement, Show errors, Show count(*) errors, Show warnings, Show count(*) warnings, Note messages, The perror utility. Hands on Debugging Joins Overview of inner joins, Cartesian product, Inner joins with original syntax, Non equi-join, Using table aliases to avoid name clashes, Inner Joins With ISO/ANSI Syntax, Outer Joins, Left outer joins, Right outer joins, Full outer joins, Updating multiple tables simultaneously, Updating rows in one table based on a condition in another, Updating rows in one table reading data from another, Deleting from multiple tables simultaneously, Deleting rows in one table based on a condition in another. Hands on Coding joins Subqueries Types of subquery, Multiple-column subqueries, Correlated subqueries, Using the ANY, ALL and SOME operators, Using the EXISTS operator, Subqueries as scalar expressions, Inline views, Converting subqueries to joins, Using subqueries in updates and deletes. Hands on Coding subqueries Views Why views are used, Creating views, View creation restrictions, View algorithms, Updateable views, Altering and dropping views, Displaying information about views, Privileges for views. Hands on Using views Import and Export Exporting using SQL, Privileges required to export data, Importing using SQL, Messages when loading data, Privileges required to load data, Exporting from the command line, Mysqldump main options, Importing from the command line, Mysqlimport main options. Hands on Importing and exporting User variables and prepared statements Creating User variables, User variables in a select, Prepared statements, The prepare statement, The execute statement, The deallocate statement, Using prepared statements in code, with connectors. Hands on Using variables and prepared statements Introduction to stored routines Types of stored routines, Benefits of stored routines, Stored routine features, Differences between procedures and functions, Introduction to the Block, Declaring variables and constants, Assigning values to variables, Definer rights and invoker rights, Using SELECT in stored routines, Altering and dropping stored routines, Obtaining stored routine metadata, Stored routine privileges and execution security. Hands on Writing simple stored routines Stored routines - program logic The IF .. THEN .. ELSEIF construct, The CASE statement, The basic loop, The while loop, The repeat loop, The iterate statement, Nested loops. Hands on Writing stored routines with program logic Stored routines - exception handlers and cursors Dealing with errors using Exception handlers, Cursors, What is a cursor?, Cursor operations, Declaring cursors, Opening and closing cursors, Fetching rows, Status checking. Hands on Writing stored routines with program logic Procedures with parameters Creating procedures with parameters, Calling Procedures With Parameters. Hands on Writing stored routines with parameters Functions What is a function?, The create function statement, Executing functions, Executing functions from code, Executing functions from SQL statements, The deterministic and SQL clauses. Hands on Writing functions Triggers Trigger creation, Restrictions on triggers, The create trigger statement, Using the old and new qualifiers, Managing triggers, Destroying triggers, Required privileges. Hands on Writing triggers Basic optimizations Normalisation of data to third normal form, Using indexes for optimization, General query enhancement, Using Explain to analyze queries, Choosing an INNODB or MYISAM storage engine, Using MySQL Enterprise Monitor in query optimization. Hands on Making use of basic optimizations More about indexes Indexes and joins Hands on Investigating indexes and joins
Mikrotik routers training course description A fast paced practical hands on introduction to Mikrotik routers concentrating on basic product knowledge needed for the real world. Starts with the basics of accessing the routers through configuring static routes, RIP and OSPF, ending with firewalls. Hands on sessions follow all the major chapters. What will you learn Use Winbox. Use the Mikrotik command line. Perform basic troubleshooting. Configure Interfaces, RIP and OSPF. Perform housekeeping tasks such as: - save and load configurations - upgrade the OS - recover lost passwords Mikrotik routers training course details Who will benefit: Anyone who will be working with Mikrotik routers. Prerequisites: TCP/IP foundation for engineers Duration 2 days Mikrotik routers training course content Mikrotik routers RouterOS, RouterBoard. System resources. Getting started Accessing the router, Winbox, Webfig, Quickset. telnet. The command line interface Contexts, online help, basic troubleshooting. Configuring Interfaces Basics, Enabling interfaces. Ethernet, loopback interfaces. Adding IP addresses. Static routes Why use static routes? Configuring static routes, default routes. Configuring RIP How RIP works, configuration, troubleshooting. OSPF Configuration and troubleshooting. Housekeeping Configuration management, offline editing and FTP usage. RouterOS upgrades. Packages. Bypassing passwords. Other functions DHCP server. Firewall Connections, chains, actions, filters.
XSLT training course description This course has been designed as a follow on course for the XML primer course. The course looks at the use of XSLT in the transforming and styling XML documents. What will you learn Transform and style XML documents using XSLT. XSLT training course details Who will benefit: Anyone working with XSLT. Prerequisites: XML primer Duration 2 days XSLT training course contents Introduction Extensible Stylesheet Language (XSL), transforming and formatting XML. XML refresher The basic rules for building an XML document. An introduction to XSLT The basic concepts of XSLT, xsl:output, xsl:template, xsl:value-of. XML documents as trees How the original XML is transformed into a set of nodes, the general terms for manipulating node trees. Paths (XPath) Use of path matching to select required nodes for transformation. Using templates xsl:apply-templates, xsl:template match, nested templates, xsl:copy , <comment> and <element> , default templates, parameters. Control xsl:if, xsl:choose, xsl:for-each, xsl:sort. Constructing the result tree xsl:output, xsl:attribute, xsl:attribute-set, xsl:comment, xsl:processing-instruction, xsl:text, xsl:value-of, xsl:variable. Combining templates xsl:include, xsl:import, xsl:apply-imports. Transforming to text
MPEG training course description This course studies the MPEG standards for video and audio compression. A major focus is on MPEG-4 and MPEG-TS. Hands on includes decoding and analysing MPEG streams. What will you learn Recognise the main MPEG standards. Describe the techniques used in MPEG video and audio compression. Compare MPEG2m MPEG4 and MPEG-H. Describe the MPEG-TS. Analyse MPEG streams. MPEG training course details Who will benefit: Anyone working with MPEG. Prerequisites: None. Duration 2 days MPEG training course contents Introduction What is MPEG? MPEG and VCEG, MPEG 1, MPEG 2, MPEG-3, MPEG-4, MPEG-H, others, codecs and containers, licensing and patents, parts and layers (System, Video, Audio, others). MPEG2 DVD, DVB, characteristics, MPEG2 Part2, audio MPEG2 Part 7 (AAC). MPEG tools Wireshark, vlc, analysers, decoders, ffmpeg, wowzer. MPEG2 Video compression Sampling, bit rates, resolution. Inter and Intra frame coding, I, B, P frames, GOP, slices, blocks, macroblocks. Motion estimation. Hands on Analysing MPEG frames. MPEG4 Profiles and levels, Enhancements, Parts 1,2,3, Part 10 and AVC, Part 14 and mp4. Performance versus MPEG2. MPEG audio Coding, frequencies, bit rates. MPEG-TS PES, Transport Streams, TS elements, packets, PID, Programs, PSI, PAT, PMT, synchronisation, PCR, PTS. MPEG-H Part 2 HEVC, benefits, improvements. Video codecs What is a CODEC, pictures and audio, digitisation, sampling, quantisation, encoding, compressing.
Total H.248 training course description A course focusing purely on the H.248 protocol. Anyone working through the ITU standards documents can testify to the need of a training course to explain how H.248 really works. This course already assumes knowledge of other VoIP protocols and starts by positioning H.248 in relation to the other protocols. The course then looks at H.248 architectures and concepts before analysing H.248 messages and call flows. What will you learn Describe what H.248 is Recognise where H.248 fits in relation to other VoIP protocols. Explain how H.248 works. Analyse H.248 packets Total H.248 training course details Who will benefit: Technical staff working with H.248 Prerequisites: Voice Over IP. Duration 2 days Total H.248 training course contents What is H.248? Review of VoIP protocols: RTP, RTCP, SIP, SDP, H.323. The PSTN and SS7. Where H.248 fits into the picture. H.248 history. MGCP. The IETF. Megaco. ITU standards. H.248v1, v2, v3. H.248 architectures Media Gateways, Media Gateway Controllers, Gateway Control functions, Signalling Gateways. Reference architectures: IMS/TISPAN: IBCF, IWF, I-BGF, SPDF. MSF: S-SBG-NC, D-SBG-NC. GSMA: IPX Proxy. Softswitches. H.248 concepts The connection model, terminations, streams, contexts. Termination properties: descriptors, context properties. Events, signals, packages. H.248 messages Protocol stack, UDP, TCP. Message structure. Transactions, actions, commands. Requests, replies, acknowledgements. Sample message flows. Binary encoding, ASN syntax, Text encoding. H.248 commands Termination manipulation: Add, Subtract, Move, Modify. Event reporting: Notify. Management: AuditCapability, AuditValue, ServiceChange. H.248 Descriptors What are descriptors? Relationship with messages and commands. Basic descriptors, Descriptors composed of other descriptors. The 19 descriptors. Defaults. H.248 Transactions Groups of commands, transaction Ids, relationship with actions and commands. Requests and replies. H.248 wrap up What is a package? Basic packages. H.248 security. H.248 - SIP interoperation. H.248 interoperation with other protocols.
H.323 training course description A hands on course covering IP telephony with H.323. The course starts with a brief review of knowledge students should already possess including RTP and RTCP. The main focus is on H.323 protocols though, progressing from what H.323 is through signalling, call processing and architectures, moving onto more advanced issues including security, multimedia, conferencing, and interoperability. Hands on practicals follow each major theory session. What will you learn Explain how H.323 works. Analyse H.323 packets. Deploy H.323 IP telephony solutions. Integrate H.323 with other telephony solutions. H.323 training course details Who will benefit: Technical staff working with H.323 Prerequisites: Voice Over IP Duration 2 days H.323 training course contents VoIP review Brief review of VoIP, IP, telephones and voice. RTP, RTCP, mixers and translators. What is H.323? The framework, Why H.323, history, H.323 standards and the ITU, H.323 versions 1,2,3,4, and 5, Annexes and Appendices, capabilities, services, How H.323 works, a basic call. H.323 protocol stack The overall framework, Audio codecs (H.7xx), Video codecs (H.26x), T.120 data conferencing. H.323 Architecture Endpoints: Terminals, MCUs, gateways. Gatekeepers, border and peer elements, design issues, signalling with and without gatekeepers. H.225 Packet format, ASN.1, Information elements, Call setup, Call control. Gatekeepers Gatekeeper features, admissions, address translation, bandwidth management, call routing, zones, administrative domains, gatekeeper discovery, call establishment, fast connect. RAS packet formats, RAS signalling. Alternate gatekeepers. H.245 Purpose, call control channel, relationship with H.225, message format, tunnelling. H.323 Supplementary services Conferencing: point to point, multipoint, hybrid, broadcast, H.332. H.450.x. Call transfer, diversion, hold and waiting. Remote device control (H.282, H.283). Capability exchange, Video. Security H.235. Authentication, privacy, transport layer level security. Interoperability Gateways, Inter working with PSTN, SIP and H323. H.246. Annexes and Appendices An overview.
Session Border Controllers course description A hands on course covering Session Border Controllers with a focus on the technical workings of features commonly found in Session Border Controllers. Hands on practicals follow each major theory session. What will you learn Explain how Session Border Controllers work. Explain the SIP call flow using a SBC. Deploy Session Border Controllers Describe the features found in Session Border Controllers. Session Border Controllers course details Who will benefit: Technical staff working with SIP. Prerequisites: Definitive SIP for engineers Duration 2 days Session Border Controllers course contents SIP review Signalling, media, RTP, SIP, peer to peer, SIP proxies, SIP call flows. Hands on: SIP packet analysis. Session Border Controllers What is a SBC? SBC features, peering scenario, access scenario, NNI SBC, UNI SBC, enterprise SBC. Hands on: SBC call flows SBC topology hiding Header privacy, B2BUA. Hands on: Header analysis. Session control Call admissions, QoS, statistics and billing, redundancy and scalability. Hands on: SBC session control SBC and NAT NAT traversal, STUN, ICE, NAT and SIP, NAT and RTP. Hands on: SBC and NAT traversal. SBC and security DoS, access control, encryption, authentication, toll fraud, regulatory issues, lawful intercept. Hands on: Security. Interoperability mediation Manipulating SIP headers, IMS, IETF, TISPAN, SIP-I. SBC interworking.
Bluetooth training course description Bluetooth is used by many kids these days but is probably under-utilised in business environments. This hands on training course provides an overview of what Bluetooth is, how it works, what it can be used for and how to configure it on different devices. What will you learn Explain what Bluetooth is. Describe the Bluetooth protocol stack. Recognise the applications of Bluetooth. Configure Bluetooth. Bluetooth training course details Who will benefit: Anyone who needs to know more about Bluetooth. Prerequisites: None. Duration 2 days Bluetooth training course contents Classic Bluetooth Bluetooth overview Basics, standards, competing technologies. Bluetooth radio RF bands, power losses, frequency hopping. Bluetooth modulation PSK, DPSK, DPQSK. Bluetooth data transfer FH, TDD, FDMA, ACL, SCO, Bluetooth packets. Making connections Piconets, Scatternets, Pairing The protocol stack Baseband, Link Manager, L2CAP, SDP, GAP, RFCOMM. Profiles FTP, DUN, LAN, Synch, HDP, GOEP/OBEX etc. Security Authentication, authorisation, encryption, risks. Bluetooth Low Energy Introduction Bluetooth Smart and Bluetooth Smart Ready. BLE device types Design goals, terminology and core concepts. BLE usage models Presence detection, data broadcasting connectionless models, gateways. BLE architecture Controller, host, applications and stack splits. BLE protocol stack Link layer, HCI, L2CAP. BLE profiles GAP roles, models, procedures, security modes, data advertising. BLE security Pairing, bonding, data signing BLE applications Devices, services, profiles, peripherals